0
我需要同時運行一定數量的線程或進程,直到所有這些完成。我如何在Python 2.6中做到這一點。 (注意:我相信Python 3.0具有ThreadPoolExecutor,但這並不能幫助我,因爲我們在2.6上)。運行一定的編號。的線程/進程
我試過如下:
pool = multiprocessing.Pool(2)
try:
for table_name in table_list:
pool.apply_async(Processor(table_name, self.type,
self.properties).exec())
except KeyboardInterrupt:
pool.terminate()
else:
pool.close()
pool.join()
,但它的處理每個表順序。我想要的是,如果有10個表&池大小是5,那麼它應該首先啓動5個線程。一旦其中一個完成,它應該選擇下一個,然後下一個&等,直到所有這些都被處理。
如何在Python 2.6中執行此操作?請幫忙。
謝謝你,丹!這工作。一個不同的 - 相關的問題。現在輸出全部混在一起,所以我無法確定哪一行來自哪個進程。有沒有簡單的方法來解決這個問題?我必須使用日誌框架或類似的東西嗎? – DilTeam
要麼將它們作爲輸出行的前綴,要麼將它們寫入不同的輸出。 –