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

如何检查模块线程(在Python 3_线程中)生成的线程是否正在运行?,python,multithreading,python-2.7,Python,Multithreading,Python 2.7,然而线程模块对我来说是有效的。如何检查模块线程(在Python 3_线程中)生成的线程是否正在运行?当线程正在执行的函数结束时,线程也结束了,还是没有结束 def __init__(self): self.thread =None ...... if self.thread==None or not self.thread.isAlive() : self.thread = thread.start_new_thread(self.dosomething,()) else

然而线程模块对我来说是有效的。如何检查模块线程(在Python 3_线程中)生成的线程是否正在运行?当线程正在执行的函数结束时,线程也结束了,还是没有结束

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()的函数,有其他选择吗


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

除非您真的需要内部(模块)的低级功能,否则您真的应该使用
线程化
模块。它使所有内容都更易于使用,并且确实提供了一些帮助,例如


顺便说一句,像您在示例代码中那样重新启动线程的另一种方法是保持线程运行,但让它等待其他作业。例如,您可以在某个位置有一个队列,跟踪您希望线程执行的所有作业,线程将继续对其进行操作,直到队列为空,然后它将不会终止,而是等待新作业将出现。只有在应用程序结束时,您才向线程发出停止等待并终止它的信号。

我不清楚您的问题。也许您应该给出一个简短的示例,说明一些您不清楚其行为的代码?您的意思是什么
没有任何理由使用线程-如果您想添加传统的线索?