确定线程是否已启动

时间:2014-02-22 17:45:57

标签: python multithreading

如何确定是否已启动python线程?有一种方法is_alive(),但在之前,而 时,这是正确的。

3 个答案:

答案 0 :(得分:5)

您可以查看主题实例的 ident 字段。 Python 2.7 documentation for Threading ident 描述为

  

此线程的'线程标识符',如果线程没有,则为None   已经开始了。

答案 1 :(得分:2)

使用isAlive(或is_aliveThread类方法。

来自来源http://hg.python.org/cpython/file/2.7/Lib/threading.py#l995

# ...
def isAlive(self):
    """Return whether the thread is alive.

    This method returns True just before the run() method starts until just
    after the run() method terminates. The module function enumerate()
    returns a list of all alive threads.

    """
    assert self.__initialized, "Thread.__init__() not called"
    return self.__started.is_set() and not self.__stopped

# ...

答案 2 :(得分:0)

您可以让线程函数在启动时设置一个布尔标志,然后检查该标志。