python 结束线程
时间: 2023-10-24 11:10:04 浏览: 168
要结束一个线程,可以使用threading模块中的Thread对象的方法stop()或者设置一个标志位,在线程内部根据标志位来判断是否结束线程。
例如:
```python
import threading
import time
class MyThread(threading.Thread):
def __init__(self):
super().__init__()
self._stop_event = threading.Event()
def run(self):
while not self._stop_event.is_set():
print("Thread is running...")
time.sleep(1)
def stop(self):
self._stop_event.set()
t = MyThread()
t.start()
time.sleep(5)
t.stop()
```
在上面的例子中,我们创建了一个MyThread类,继承自threading.Thread类,并重写了run()方法。在run()方法中,我们使用了一个while循环来不断输出"Thread is running...",并且每次循环都会检查标志位self._stop_event是否被设置,如果被设置了就退出循环,从而结束线程。同时,我们还定义了一个stop()方法,用来设置标志位self._stop_event,从而结束线程。
阅读全文