子线程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
posted on 2019-09-17 15:29  黑糖A  阅读(193)  评论(0编辑  收藏  举报