[英]Get Data from Other Processes using Multiprocessing
(語言是Python 3)
我正在使用模塊multiprocessing
並使用Pool
編寫程序。 我需要在所有進程之間共享的一些變量。 父進程將初始化此變量,並將其作為參數傳遞給p.map()
。 我希望子進程更改此變量。 這樣做的目的是因為子流程工作的第一部分應該並行完成(不需要任何其他流程數據的計算工作)。 但是,流程工作的第二部分需要按順序完成,一個接一個地處理,因為它們正在寫入文件,並且該文件的內容應該井井有條。 我希望每個過程都可以等到其他過程完成后再繼續。 我將用變量記錄整個程序的“進度”,例如,當第一個過程完成向文件的寫入時,它將使變量增加一個。 我希望這是開始寫入文件的下一個過程的信號。 但是我需要某種waituntil()
函數來使進程等待,直到Value
變量指示它是寫入文件的“轉身”為止。
這是我的兩個問題:
我需要一個子進程可以編輯的變量,並且子進程實際上可以獲取該變量的值。 我應該使用哪種類型的變量? 我應該使用Value
, Manager
還是其他?
我需要過程等待,直到上述變量等於某個值,這表明該輪到他們寫文件了。 我可以使用任何一種waituntil()
函數嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.