我正在编写一个多线程 Python 应用程序,它与服务器建立许多 TCP 连接。每个连接都在一个单独的线程上完成。有时线程会挂起很长时间,这是我不想要的。我怎样才能让线程在给定的时间段后自行终止?从主线程如何判断子线程是否自杀了?
如果可能的话,我将不胜感激展示如何执行此操作的代码片段。谢谢。
更新 系统是Ubuntu 9:10
最佳答案
简短回答:只需让 def run() 结束。 因此,如果您正在等待来自套接字的数据,请使用超时来完成,然后如果发生超时,只需中断您应该拥有的 while,线程将被杀死。
您可以使用 isAlive() 方法从主线程检查线程是否处于事件状态。
关于Python:如何让线程在超时后自行终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4791815/