Python:如何让线程在超时后自行终止?

标签 python multithreading ubuntu-9.10

我正在编写一个多线程 Python 应用程序,它与服务器建立许多 TCP 连接。每个连接都在一个单独的线程上完成。有时线程会挂起很长时间,这是我不想要的。我怎样才能让线程在给定的时间段后自行终止?从主线程如何判断子线程是否自杀了?

如果可能的话,我将不胜感激展示如何执行此操作的代码片段。谢谢。

更新 系统是Ubuntu 9:10

最佳答案

简短回答:只需让 def run() 结束。 因此,如果您正在等待来自套接字的数据,请使用超时来完成,然后如果发生超时,只需中断您应该拥有的 while,线程将被杀死。

您可以使用 isAlive() 方法从主线程检查线程是否处于事件状态。

关于Python:如何让线程在超时后自行终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4791815/

相关文章:

linux - 在 ubuntu 中使用灯服务器

ubuntu - unoconv 错误 1287/jaunty 上的 ErrorCodeIOException

python - 默认值不适用于 flask-sqlalchemy 中的反射模型

multithreading - 并行加速和效率

ubuntu - Ubuntu 9.10 中的可信时间戳日志文件

java - 如何使用Swing Timers来制定整体更新率?

java - 每秒 100 万次远程函数调用

Python子进程调用效率

python - 如何打包 Pycharm python 项目上传到 AWS Lambda?

python - 作为 REST api 的一部分返回多行字符串