擺明菜鳥在此背景下:python多處理池vs進程?
我嘗試在多個進程中運行的一個功能,這樣我就可以在較短的時間
我試圖
for file_chunk in file_chunks:
p = Process(target=my_func, args=(file_chunk, my_arg2))
p.start()
# without .join(), otherwise main proc has to wait
# for proc1 to finish so it can start proc2
,但它似乎不處理一個巨大的文件所以真的很快
現在我問自己,如果它真的是平行運行的工作。我也考慮過Pool,但我使用python2,並且使它將兩個參數映射到該函數是醜陋的。
我在上面的代碼中丟失了某些東西,或者以這種方式創建的進程(如上所述)運行真正平行嗎?
你預計會處理多少塊?你在這裏紡織了數百個新工藝嗎?池允許您創建一定數量的工作人員,並將該組塊(任務)分配給工作人員,而不會使系統過載。 – svohara
@svohara我只有20個塊,所以我可以實現20倍的處理速度,這個代碼沒有發生。 – doniyor