我有一個python腳本child.py,這是被稱爲一些其它的腳本在main.py 執行的一次迭代,child.py需要近400毫秒如何平行,有效地運行一個python腳本使用多線程/多?
現在我想執行的多個實例child.py同時(並行)。我用多處理模塊來創建多個進程,通過將呼叫在for循環中。
當我運行一個迭代用了,400毫秒。但是當我增加for循環的迭代次數時,執行時間也增加了幾乎400ms的倍數。
因此,似乎不是並行執行像執行以同步方式發生。
我通過把時間標記在我的日誌文件驗證的執行時間。
有沒有辦法實現的執行時間幾乎400毫秒,即使是大量的腳本並行執行的?
這裏是我的腳本:
for device in device_list:
q= Queue.Queue()
p =Process(target=get_current_value,
args=(q,),
kwargs=
{
'device': device,
'service_list': service_list,
'data_source_list': data_source_list}
)
p.start()
p.join()
logger.debug('data_source_list :'+ pformat(g.get()))
get_current_value是在腳本child.py的功能,這是被稱爲
您要求我們調試您的代碼,而不向我們顯示任何代碼?你如何期待這個工作?你幾乎可以肯定在你的代碼中做了錯誤的事情,但是有很多事情你可能會做錯,沒有人會去猜測每一種可能性。 – abarnert 2014-08-29 23:25:00