python - 有没有办法强行杀死python中的线程?
问题描述
在我的程序中,我有一个线程持续侦听UDP套接字,如果它收到任何消息,则将其放入队列中。
其他线程基本上是程序的主要部分。
所以当我想巧妙地终止程序时。所以我想要一种方法来强制(但巧妙地)终止线程或recv()
定期退出套接字,以便我可以检查一些状态变量并在需要时退出。
解决方案
强行杀死线程通常是不好的做法,应尽可能避免。
根据文档:
守护程序线程在关闭时突然停止。它们的资源(如打开的文件、数据库事务等)可能无法正常释放。如果您希望线程优雅地停止,请将它们设为非守护进程并使用合适的信号机制,例如事件。
基于此信息,我建议使用事件关闭线程。这里有一个很好的例子:有什么方法可以杀死线程吗?
推荐阅读
- crystal-reports - 我想让第一个 hypen(-) 之后的 5 个字符比 Crystal Report 中的其余句子大
- c++ - 错误:请求从“const char [5]”转换为非标量类型“String”
- python - KeyError:在 Appium 中使用 Python 的“touchAction”
- ansible - Ansible:用多个空格作为分隔符拆分字符串
- flutter - 为什么我的 FAB 快速拨号在我的抽屉顶部?
- python - 根据字典中的匹配项交换列表中的元素
- kubernetes - 您如何显示 helm 修订版的完整描述?
- django - 如何在 django rest 框架的分页 URL 中更改下一个键中的主机?
- log4j2 - Log4j2 AsyncLogger 是否遵循插入顺序?
- java - 图像在 0 度或 180 度时停止旋转