python:如何检测我的线程何时成为孤儿?

标签 python multithreading orphan

我有一个使用线程的程序。当我的程序关闭时,我的线程仍在运行,这是正常的。我想知道我的线程如何检测到主程序已终止;仅由其本身。我该怎么做?

我的线程处于无限循环中并处理队列中的许多对象。我不能将我的线程定义为守护进程,否则我可能会在主程序结束时丢失一些数据。我不希望我的主程序在关闭时设置 bool 值。

最佳答案

如果您可以获得主线程的句柄,则可以对其调用 is_alive()

或者,您可以调用 threading.enumerate() 来获取所有当前事件线程的列表,并检查主线程是否在其中。

或者即使那是不可能的,那么您可以检查子线程是否是唯一剩余的非守护线程。

关于python:如何检测我的线程何时成为孤儿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725340/

相关文章:

c# - 正确的线程方法

java - java 子线程数组访问

java - JPA 2/Hibernate 孤儿删除仍然无法与@OneToMany 一起使用?

C++,在for循环中分配空间,可能的内存泄漏验证

java - 你怎么能在java中的两个事件之间等待?

python - 如何限制单个IP地址访问Flask?

Python - 使用现有格式保存新的 Excel 工作表

python - 如何计算长时间序列数据中连续事件的数量

html - 如何避免使用css一行出现孤词?

python - statsmodel.api.Logit : valueerror array must not contain infs or nans