当前位置: 代码迷 >> python >> 如何检查由模块线程(在Python 3 _thread中)构成的线程是否正在运行?
  详细解决方案

如何检查由模块线程(在Python 3 _thread中)构成的线程是否正在运行?

热度:36   发布时间:2023-07-16 09:44:47.0

但是线程模块对我有用。 如何检查由模块线程(在Python 3 _thread中)构成的线程是否正在运行? 当线程正在执行的函数结束时,线程也结束了吗?

def __init__(self):
    self.thread =None
......
if self.thread==None or not self.thread.isAlive() :
        self.thread = thread.start_new_thread(self.dosomething,())
else:
        tkMessageBox.showwarning("XXXX","There's no need to have more than two threads")

我知道“线程”模块中没有名为isAlive()的函数,还有其他选择吗?

但是没有任何理由使用“线程”模块,是吗?

除非您确实需要内部 ( 模块)的低级功能, 您确实应该使用threading模块。它使所有内容都易于使用,并且确实带有诸如帮助 。

顺便说一句。 像在示例代码中一样重新启动线程的另一种方法是保持线程运行,但让它等待其他作业。 例如,您可能在某个地方有一个队列,该队列跟踪您希望线程执行的所有作业,并且线程一直在处理它们,直到队列为空为止,然后该队列不会终止,而是等待新的作业出现。 仅在应用程序结束时,您才发出信号以通知线程停止等待并终止它。

  相关解决方案