PyQt5多线程中,如何实现将线程终止并通过调用 start() 重新启动该线程?

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

回到顶部