我一直在寻找一个好的超时脚本,如果一个线程活动时间超过X秒就可以杀死它,但是我看到的所有例子都有缺陷,不能总是停止线程。使用thread.join(x)
会使其成为线程的意义。
我找到的唯一一个不错的例子是Python函数调用超时,但它也不是完美的。
有没有更好的方法来解决这个问题?
我一直在寻找一个好的超时脚本,如果一个线程活动时间超过X秒就可以杀死它,但是我看到的所有例子都有缺陷,不能总是停止线程。使用thread.join(x)
会使其成为线程的意义。
我找到的唯一一个不错的例子是Python函数调用超时,但它也不是完美的。
有没有更好的方法来解决这个问题?
我知道这可能不是您想要的,但您考虑过信号处理方法吗? 函数调用超时 http://docs.python.org/library/signal.html#example
您可以在线程执行开始时设置报警信号,然后在信号处理程序中停止该线程。