python结束Thread
时间: 2023-09-10 21:06:22 浏览: 79
在 Python 中,可以使用 threading 模块来创建和管理线程。要结束一个线程,可以使用线程对象的 `join()` 方法或者设置线程对象的 `daemon` 属性为 True。
- 使用 `join()` 方法
```python
import threading
import time
def worker():
print("Worker thread started")
time.sleep(2)
print("Worker thread ended")
t = threading.Thread(target=worker)
t.start()
# 等待线程结束
t.join()
print("Main thread ended")
```
- 设置 `daemon` 属性为 True
```python
import threading
import time
def worker():
print("Worker thread started")
time.sleep(2)
print("Worker thread ended")
t = threading.Thread(target=worker)
t.daemon = True # 设置为守护线程
t.start()
# 不需要等待线程结束
print("Main thread ended")
```
值得注意的是,如果设置了线程对象的 `daemon` 属性为 True,那么在主线程结束时,守护线程也会随之结束。而如果没有设置 `daemon` 属性或者设置为 False,则需要使用 `join()` 方法等待线程结束。