我有一个简单的线程,看起来像这样(简化):
import threading
import time
def print_coordinates():
return
listener = threading.Thread(name = "listener", target = print_coordinates)
while(1):
listener.start()
time.sleep(1)
listener.start()
time.sleep(1)
现在,我收到错误RuntimeError: threads can only be started once
。据我所知,return
应该使线程“默默地退出”,如上所述here。我做错了什么?
答案 0 :(得分:1)
我认为你不能多次拨打MAX({0,0,3,0,0,..})
。
见这里: http://docs.python.org/2/library/threading.html#threading.Thread.start
每个线程对象最多只能调用一次。它安排了 object的run()方法在一个单独的控制线程中调用。
如果在on上多次调用此方法将引发RuntimeError 相同的线程对象。
要再次调用它,您必须创建该线程的另一个实例。