0
我正在使用threading.Timer函数一次运行多个计时器。一旦每个时间过后,调用该函数使用子与“说”命令,如下图所示:检查当前是否在使用Python的任何线程中运行的子进程
subprocess.call(["say", "hello world"])
有时计时器后,对方很快熄灭,然后他们开始讨论过对方。我怎样才能让他们相互等待,以便它们不重叠?
我仍然希望能够在发生这种情况时在主程序中做其他事情(比如制作新的计时器),所以我不认为我可以使用popen.wait()或.join()
第一个例子完美适用于我的应用程序,谢谢! – bbqed
@bbqed:一般来说,用一个锁来保护'subprocess.Popen()'是个好主意(它与问题无关,但它避免了多线程和子进程的各种问题(例如,由于平台错误导致的竞争条件) )。 'Popen()'立即返回而不等待子进程完成;因此可以在这里用锁来保护它。 – jfs