python的多线程使用setDaemon有什么意义

2024-12-30 14:34:32
推荐回答(1个)
回答1:

setDaemon 是把主线程变成守护线程。
类似linux中的守护进程。一般是用来当做某种服务的。
如果这服务现在要停止了,那么是不应该等待其子线程的。
举个例子:
比如你做了一个http server,往往可以利用父线程分配线程池启动一个线程给client响应其请求。
如果你这个时候你用的join起动一个线程,那么在它结束以前会一直阻塞住父线程,下面来的request就无法得到响应了,这个时候就需要让这个线程父线程变成他的守护线程,也就是setDaemon,这样它的执行就不会阻止父线程了。
另外,当你要停止这个server的时候,肯定是希望其他线程跟着一起销毁的,意义就在这里。