python 子线程异常退出, 主线程同时退出代码实现
时间: 2023-07-25 11:12:50 浏览: 296
快速解决pyqt5窗体关闭后子线程不同时退出的问题
可以使用 Python 的 threading 模块来创建子线程,当子线程发生异常退出时,可以通过设置子线程的 daemon 属性为 True 来实现主线程同时退出的效果。具体代码实现如下:
```python
import threading
def worker():
try:
# 子线程的代码逻辑
pass
except Exception as e:
# 子线程发生异常退出
print(f"子线程发生异常:{e}")
if __name__ == "__main__":
t = threading.Thread(target=worker)
t.daemon = True # 设置子线程为守护线程
t.start()
# 主线程的代码逻辑
pass
```
在上面的代码中,我们首先创建了一个名为 `worker` 的函数,用于子线程执行的代码逻辑。然后,在主函数中创建了一个子线程,并设置该子线程的 daemon 属性为 True,表示该子线程为守护线程。最后,主函数继续执行自己的代码逻辑。当子线程发生异常退出时,由于该子线程为守护线程,主线程会同时退出。
阅读全文