标签:hid none 主线程 splay src setdaemon soft port multi
1 # 守护线程 - 主线程等待的是非守护进程结束
2 import time
3 from threading import Thread
4 from multiprocessing import Process
5
6 def func1():
7 time.sleep(1)
8 print(‘func1‘)
9
10 def func2():
11 time.sleep(2)
12 print(‘func2‘)
13
14 if __name__ == ‘__main__‘:
15
16 # 主线程会等待非守护线程结束后,主线程才结束,所以守护线程时间早就运行完毕会打印,主线程/func1/func2
17 t = Thread(target=func1)
18 t.daemon = True
19 t.start()
20
21 t = Thread(target=func2,)
22 t.start()
23 print(‘主进程‘)
24
25 # 主进程是等待给非守护进程收尸,主进程已结束,所以守护进程也会结束,打印主进程/func2; 相当于主进程的代码运行完,守护进程结束,而主进程没有死
26 t = Process(target=func1)
27 t.daemon = True # t.setDaemon(True) 也可,必须在t.start()之前设置
28 t.start()
29
30 t = Process(target=func2,)
31 t.start()
32 print(‘主进程‘)
标签:hid none 主线程 splay src setdaemon soft port multi
原文地址:https://www.cnblogs.com/hq82/p/9876091.html