标签:get str strong 开始 def 线程等待 setdaemon hid code
一、守护线程
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(‘主进程‘)
二、信号量
标签:get str strong 开始 def 线程等待 setdaemon hid code
原文地址:https://www.cnblogs.com/hq82/p/9858396.html