标签:pre main 的区别 mon 区别 多个 daemon 分享 IV
守护进程与守护线程的区别:
守护进程:主进程代码运行完后,守护进程就终止。
守护线程:主进程运行完后,守护线程就终止。不过,如果主线程有多个线程的话,
其他线程未执行完,主线程就还在。守护线程会等主进程下的所有线程都执行完才终止。
守护进程:
from threading import Thread import time def sayhi(name): time.sleep(2) print(‘%s say hello‘ %name) if __name__ == ‘__main__‘: t=Thread(target=sayhi,args=(‘egon‘,)) # t.setDaemon(True) #必须在t.start()之前设置 t.daemon=True t.start() print(‘主线程‘) print(t.is_alive())
运行结果:
主线程
True
守护线程:
from threading import Thread import time def foo(): print(123) time.sleep(1) print("end123") def bar(): print(456) time.sleep(3) print("end456") if __name__ == ‘__main__‘: t1=Thread(target=foo) t2=Thread(target=bar) t1.daemon=True t1.start() t2.start() print("main-------")
运行结果:
123 456 main------- end123 end456
守护线程2:
from threading import Thread import time def foo(): print(123) time.sleep(1) print("end123") def bar(): print(456) time.sleep(3) print("end456") if __name__ == ‘__main__‘: t1=Thread(target=foo) t2=Thread(target=bar) t2.daemon=True t1.start() t2.start() print("main-------")
运行结果:
123 456 main------- end123
标签:pre main 的区别 mon 区别 多个 daemon 分享 IV
原文地址:https://www.cnblogs.com/beallaliu/p/9191328.html