【发布时间】:2010-07-19 15:29:08
【问题描述】:
我希望 Python 中的 3 个线程运行 n 秒。我想同时启动它们并让它们同时完成(在几毫秒内)。我该怎么做?
threading.Timer 仅在前一个完成后才开始。
【问题讨论】:
-
在某些情况下,可能很难保证它们实际上会在几毫秒内完成。例如,假设代码调用了一个不释放全局解释器锁 (GIL) 的非 Python 库。在这种情况下,线程的完成时间可以至少错开执行库调用所需的时间长度。您需要在线程之间实现某种通信以在允许它们完成之前将它们同步。 (或者,也许重新考虑一下他们同时完成是否真的那么很重要?)
-
它甚至不必非常接近。我说“毫秒内”是指它不必正好是 10 秒。我并不是说“在几毫秒内”作为约束。谢谢!
标签: python multithreading timer