子线程vs子进程创建速度

子线程vs子进程创建速度

from threading import Thread
from multiprocessing import Process
import time

def task(name):
    print(f'{name} is running')
    time.sleep(2)
    print(f'{name} is end')

if __name__ == '__main__':
    t=Thread(target=task,args=('子线程',))
    p=Process(target=task,args=('子进程',))
    # t.start()
    p.start()
    print('主')
开启子线程的打印效果:

子线程 is running
主
子线程 is end

开启子进程打印效果:

主
子进程 is running
子进程 is end


进程和线程的创建速度
开启子进程需要申请资源开辟空间 慢
开启子线程只是告诉操作系统一个执行方案 快

子线程进程共享

from threading import Thread
import time,os

x=100
def task():
    global x
    x=50
    print(os.getpid()) #8652

if __name__ == '__main__':
    t=Thread(target=task)
    t.start()
    time.sleep(2)
    print(x) #50
    print(os.getpid()) #8652
原文地址:https://www.cnblogs.com/aden668/p/11534124.html