use*_*760 6 python multithreading orphan
我有一个使用线程的程序.当我的程序关闭时,我的线程仍在运行,这是正常的.我想知道我的线程如何检测到主程序被终止; 仅靠它自己.我该怎么办?
我的线程处于无限循环中并处理队列中的许多对象.我无法将我的线程定义为守护进程,否则我可能会在主程序结束时丢失一些数据.我不希望我的主程序在关闭时设置一个布尔值.
如果你可以获得主线程的句柄,你可以调用is_alive()它.
或者,您可以调用threading.enumerate()以获取所有当前生效线程的列表,并检查主线程是否在那里.
或者即使这是不可能的,那么您也可以检查子线程是否是唯一剩余的非守护程序线程.
| 归档时间: |
|
| 查看次数: |
1752 次 |
| 最近记录: |