我有一個數組(稱爲data_inputs)包含數百個天文圖像文件的名稱。這些圖像然後被操縱。我的代碼工作並需要幾秒鐘來處理每個圖像。但是,它只能在同一時間做一個形象,因爲我跑的陣列通過「for」循環:python多處理for循環
for name in data_inputs:
sci=fits.open(name+'.fits')
#image is manipulated
沒有理由爲什麼我在任何其他修改的圖像,因此,它是可以利用我的機器上的所有4個內核,每個內核在不同的映像上運行for循環?
我讀過關於多處理模塊,但我不確定如何在我的情況下實現它。 我很想讓多處理工作,因爲最終我必須在10,000個以上的圖像上運行這個。
它可能會更好使用: 'pool = Pool(os.cpu_count())' 這是使用多處理的更通用的方法。 –
注意:在Python 3.4中添加了'os.cpu_count()'。對於Python 2.x,使用'multiprocessing.cpu_count()'。 – dwj
'Pool()'與'Pool(os.cpu_count())'相同' – Tim