0
我正在使用threading.Timer函數一次運行多個計時器。一旦每個時間過後,調用該函數使用子與「說」命令,如下圖所示:檢查當前是否在使用Python的任何線程中運行的子進程
subprocess.call(["say", "hello world"])
有時計時器後,對方很快熄滅,然後他們開始討論過對方。我怎樣才能讓他們相互等待,以便它們不重疊?
我仍然希望能夠在發生這種情況時在主程序中做其他事情(比如製作新的計時器),所以我不認爲我可以使用popen.wait()或.join()
第一個例子完美適用於我的應用程序,謝謝! – bbqed
@bbqed:一般來說,用一個鎖來保護'subprocess.Popen()'是個好主意(它與問題無關,但它避免了多線程和子進程的各種問題(例如,由於平臺錯誤導致的競爭條件) )。 'Popen()'立即返回而不等待子進程完成;因此可以在這裏用鎖來保護它。 – jfs