2011-10-20 47 views
0

我正在尋找腳本之間的同步機制(bash或perl或Python)我的要求如下有沒有可以幫助多個腳本執行到某個點並繼續執行的函數/命令?

腳本a,b和c將開始(不一定在同一時間)。一旦a,b或c碰到腳本中的某個點,它應該停止讓其他腳本碰到同一個點。爲了討論起見,我們把它們稱爲同步點。一旦同步點被擊中,所有的腳本,所有腳本可以繼續下一同步點或腳本

這裏到底是一個例子

腳本

task1 
task2 
task3 
syncpoint 1 
task4 
task5 
syncpoint 2 

腳本2

task1 
syncpoint 1 
task2 
task3 
task4 
syncpoint 2 
task5 
syncpoint 3 

回答

0

假設所有的腳本是Python中使用最簡單的解決辦法是寫函數進口(因此運行)其他腳本。使用多處理或線程模塊指向這些函數。既然每個腳本都在自己的進程或線程中運行,那麼可以使用條件對象和.wait().notify()方法讓它們停止並彼此等待。

所有的文件來實現這樣的事情可以在這裏找到。 http://docs.python.org/library/threading.html