Python终止的线程无法重新启动
我有一个线程,当某个操作发生时执行。给定程序的逻辑,当线程的另一个实例仍在运行时,线程不可能启动。然而,当我第二次调用它时,我得到了一个“RuntimeError:线程已经启动”错误。我使用Thread.is_alive()函数添加了一个检查,以查看它是否真的是活动的,并且它实际上是死的 我做错了什么Python终止的线程无法重新启动,python,multithreading,runtime-error,Python,Multithreading,Runtime Error,我有一个线程,当某个操作发生时执行。给定程序的逻辑,当线程的另一个实例仍在运行时,线程不可能启动。然而,当我第二次调用它时,我得到了一个“RuntimeError:线程已经启动”错误。我使用Thread.is_alive()函数添加了一个检查,以查看它是否真的是活动的,并且它实际上是死的 我做错了什么 我可以根据需要提供更多详细信息。无法重新启动线程。您必须重新创建线程才能重新启动它。您可以尝试设置 thread._Thread__started = False 它没有正式的文档记录,因此使用
我可以根据需要提供更多详细信息。无法重新启动线程。您必须重新创建线程才能重新启动它。您可以尝试设置
thread._Thread__started = False
它没有正式的文档记录,因此使用它的风险由您自己承担!:) 来自文档:
start()
启动线程的活动。
每个线程对象最多只能调用一次。它安排在单独的控制线程中调用对象的run()
方法
如果您从threading.Thread派生一个类,您可以添加一个
线程。\uuuu init\uuu(self)
在run方法的末尾,您可以再次调用start,完成后它会自动重新初始化自己。我已经在使用Thread\uu stop()启动它了。。。添加一个似乎并没有那么糟糕,但使我的程序真的很黑。。。