PyQt5多线程中,如何实现将线程终止并通过调用 start() 重新启动该线程?
PyQt5多线程中使用terminate()方法终止线程后,调用start()后无法再次启动该线程。
问:该如何实现将该线程终止,并调用start()可以重新启动该线程?
回答:
线程不能终止并重新启动,但可以暂停并恢复。示例:
class Me(threading.Thread): def __init__(self):
threading.Thread.__init__(self)
self.paused = False
self.pause_cond = threading.Condition(threading.Lock())
def run(self):
while True:
with self.pause_cond:
while self.paused:
self.pause_cond.wait()
print('在这里做线程应该做的事情')
time.sleep(5)
def pause(self):
self.paused = True
self.pause_cond.acquire()
def resume(self):
self.paused = False
self.pause_cond.notify()
self.pause_cond.release()
以上是 PyQt5多线程中,如何实现将线程终止并通过调用 start() 重新启动该线程? 的全部内容, 来源链接: utcz.com/p/938599.html