检查Python中哪个线程处于活动状态

时间:2015-04-16 14:37:41

标签: python multithreading

我正在运行15个不同的线程,通过类实例化线程定义。我想知道如何从一个线程中检查其他线程。

例如,在运行线程 n (提供 n > 1和 n < 15)之前,我想检查是否有线程( n - 1)和( n + 1)正在运行。如果它们正在运行,那么我不想运行线程 n

2 个答案:

答案 0 :(得分:1)

如果t.isAlive()仍在运行,则

True会返回t。参考:https://docs.python.org/2/library/threading.html#threading.Thread.is_alive

threading.enumerate() "Return[s] a list of all Thread objects currently alive."

每个线程都有一个name属性,可以在创建线程时设置(通过构造函数),并在任何给定时间读取或更改:https://docs.python.org/2/library/threading.html#thread-objects

答案 1 :(得分:0)

我没有太多关于你想要解决的问题的背景,但看起来你正在寻找的是一个信号量。

参考

Python中的信号量: https://docs.python.org/2/library/threading.html#semaphore-objects