我正在运行15个不同的线程,通过类实例化线程定义。我想知道如何从一个线程中检查其他线程。
例如,在运行线程 n (提供 n > 1和 n < 15)之前,我想检查是否有线程( n - 1)和( n + 1)正在运行。如果它们正在运行,那么我不想运行线程 n 。
答案 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