5.1.14 守护线程
Posted beallaliu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.1.14 守护线程相关的知识,希望对你有一定的参考价值。
守护进程与守护线程的区别:
守护进程:主进程代码运行完后,守护进程就终止。
守护线程:主进程运行完后,守护线程就终止。不过,如果主线程有多个线程的话,
其他线程未执行完,主线程就还在。守护线程会等主进程下的所有线程都执行完才终止。
守护进程:
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
以上是关于5.1.14 守护线程的主要内容,如果未能解决你的问题,请参考以下文章