Python 如何停止死循环线程:使用 Event 对象
可以使用 Python threading 库中的 Event 对象来控制线程的停止。具体步骤如下:
- 在线程中使用一个循环,并在循环中检查一个 Event 对象是否被设置为停止状态。
- 在主线程中创建一个 Event 对象,并传递给要停止的线程。
- 在需要停止线程的时候,调用 Event 对象的 set() 方法设置为停止状态。
- 在线程中定期检查 Event 对象的状态,如果为停止状态,则跳出循环。
以下是示例代码:
import threading
def my_loop(stop_event):
while not stop_event.is_set():
# do something
pass
stop_event = threading.Event()
t = threading.Thread(target=my_loop, args=(stop_event,))
t.start()
# 在需要停止线程的时候
stop_event.set()
t.join()
在上面的代码中,my_loop() 函数接受一个 stop_event 参数,用于检查线程是否需要停止。在主线程中,创建了一个 stop_event 对象,并传递给 my_loop() 函数。在需要停止线程的时候,调用 stop_event.set() 方法设置为停止状态。线程会在下一次检查 stop_event 的状态时跳出循环。最后使用 t.join() 等待线程结束。
原文地址: https://www.cveoy.top/t/topic/nwiS 著作权归作者所有。请勿转载和采集!