首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python:通过ID检查线程状态

python:通过ID检查线程状态
EN

Stack Overflow用户
提问于 2015-06-02 00:54:52
回答 2查看 947关注 0票数 1

我有一个多线程Python(2.7)程序,它为不同的任务运行多个线程。我存储了线程in,用于在单独的线程中跟踪线程的状态,以便进行状态跟踪。

如何通过使用线程id来检查线程是否处于活动状态( isAlive() )?

EN

回答 2

Stack Overflow用户

发布于 2015-06-02 06:31:41

据我所知,我不相信有一种方法可以通过它的thread_id检索线程。最好的办法是存储对线程对象本身的引用。

票数 1
EN

Stack Overflow用户

发布于 2022-02-18 20:16:56

您可以通过threading.enumerate() (对于Python3:threading.enumerate())获取所有活动线程的列表

返回当前活动的所有线程对象的列表。

然后检查这个列表是否包含带有存储id的Thread。如果是,则线程仍处于活动状态。

举个例子:

代码语言:javascript
复制
import threading

t_id = 1080 # stored thread id
is_alive = any([th for th in threading.enumerate() if th.ident == t_id])

print("Still alive: ", is_alive)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30579022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档