【发布时间】:2018-08-13 17:46:56
【问题描述】:
我有一个进程会产生新线程并开始工作,当线程完成后,我会启动一批新线程。我有一个线程可能会执行有时永远不会返回的 RPC 调用的问题。遗憾的是,RPC 不支持超时功能。我知道我们可以使用信号来帮助使函数超时,但由于这是多线程的,我无法使用它。是否有任何推荐的方法可以将线程中调用的函数超时到设定的时间间隔?
【问题讨论】:
标签: python multithreading timeout
我有一个进程会产生新线程并开始工作,当线程完成后,我会启动一批新线程。我有一个线程可能会执行有时永远不会返回的 RPC 调用的问题。遗憾的是,RPC 不支持超时功能。我知道我们可以使用信号来帮助使函数超时,但由于这是多线程的,我无法使用它。是否有任何推荐的方法可以将线程中调用的函数超时到设定的时间间隔?
【问题讨论】:
标签: python multithreading timeout
要知道如何停止/杀死线程,您应该查看答案here。至于超时,如果您的主线程正在等待一批子线程完成,那么您可以使用标准计时器time.time(),然后在足够的时间后,使用另一个答案中显示的方法。
【讨论】: