Python 进程线程在守护线程进程时的对比
程序员文章站
2022-04-02 11:17:20
1.结论(1)主进程在运行完主进程代码后就结束了(2)主线程在运行完代码后没有结束,等待所有线程结束,才结束线程。from threading import Threadfrom multiprocessing import Processimport timedef task(n): print('开始%s' % n) time.sleep(n) print('结束%s' % n)if __name__ == '__main__': t = Proce...
1.结论
(1)主进程在运行完主进程代码后就结束了
(2)
1)主线程中,要是子线程都为守护线程,那么主线程运行完代码就结束,不等任何线程。
2)要是子线程中,时间最短的线程为守护线程,主线程等全部子线程运行完毕,才会结束。
3)子线程中时间最长的为守护线程,主线程等最短线程运行完毕,主线程结束。
from threading import Thread from multiprocessing import Process import time def task(n): print('开始%s' % n) time.sleep(n) print('结束%s' % n) if __name__ == '__main__': t = Process(target=task, args=(1,)) t2 = Process(target=task, args=(3,)) # t.daemon = True t2.daemon = True t.start() t2.start() print('主')
from threading import Thread from multiprocessing import Process import time def task(n): print('开始%s' % n) time.sleep(n) print('结束%s' % n) if __name__ == '__main__': t = Thread(target=task, args=(1,)) t2 = Thread(target=task, args=(3,)) # t.daemon = True t2.daemon = True t.start() t2.start() print('主')
from threading import Thread from multiprocessing import Process import time def task(n): print('开始%s' % n) time.sleep(n) print('结束%s' % n) if __name__ == '__main__': t = Thread(target=task, args=(1,)) t2 = Thread(target=task, args=(3,)) # t.daemon = True t2.daemon = True t.start() t2.start() print('主') '''开始1
开始3
主
结束1'''
本文地址:https://blog.csdn.net/yinlingjishu/article/details/108262871
下一篇: 微机接口大作业