python 进程和线程的区别

1、开进程的开销远大于开线程

import time
from threading import Thread
from multiprocessing import Process

def piao(name):
    print('%s piaoing'%name)
    time.sleep(2)
    print('%s piao end'%name)


if __name__ == '__main__':
    p1 = Process(target=piao,args=('egon',))
    p1.start() # 开启后先申请资源,才会执行piao
    t1 = Thread(target=piao,args=('egon',))
    t1.start() # 开启后立马执行piao里的代码
    print('主线程')

 

1、其他线程都结束后,主线程才会结束,守护线程才会结束。即守护线程要等其他所有非守护线程结束后才会结束

2、其他线程都结束后,主线程才会结束,主进程才会结束,守护进程才会结束。貌似守护进程和守护线程是相同条件下结束。

 

posted @ 2018-03-09 15:09  Claire_xu  阅读(1071)  评论(0编辑  收藏  举报