我想要更改multiprocessing.pool
中的進程數,但我不明白該如何操作。 有沒有辦法做到這一點,或者我應該嘗試殺死舊的並創建一個具有不同數量的進程的新池,如果是的話,我該如何殺死舊池?正在使用close()
就足夠了?如何更改multiprocessing.pool中的進程數量?
0
A
回答
1
有一種私人方法,multiprocessing.pool._repopulate_pool它可以改變池中的工人數量。但是,我認爲你不應該使用這個。首先,由於該方法的名稱以下劃線開頭,因此它是一個私有方法 - 一個實現細節。從理論上講,它可能會在未來發生變化並破壞您的代碼。
但也許更重要的是,您的機器具有有限數量的處理器。一般來說,這是在您的池中使用的理想數量的進程。如果你有更多的事情,那麼你的游泳池工作人員將爭取自己的CPU訪問。如果你的問題是CPU限制的,那麼擁有比CPU更多的工作者是沒有好處的。
如果你想限制由多池所使用的CPU數量,那麼這將是最容易提前確定硬限制應該是什麼和實例池使用的工人數量從一開始就:
pool = mp.Pool(processes=4)
還要注意,mp.cpu_count()
返回可用處理器的數量。如果您未設置processes
參數,mp.Pool
默認情況下將使用mp.cpu_count()
進程。
相關問題
- 1. 如何命名multiprocessing.pool中的進程?
- 2. 如何區分Multiprocessing.Pool中的進程?
- 3. 是multiprocessing.Pool使用我所有的進程?
- 4. Python:如何檢查multiprocessing.Pool中未決任務的數量?
- 5. 如何更改程序中的變量
- 6. 如何更改線程中的變量?
- 7. multiprocessing.Pool進程鎖定到單個核心
- 8. 更改另一個進程的容量
- 9. multiprocessing.Pool執行從mysqldump到管道數據的並行子進程
- 10. 如何在Mongoose函數中進行變量更改
- 11. 如何更改優先級的進程
- 12. 如何更改Xcode中的構建線程數量?
- 13. 如何更改靜態變量對Xamarin.Form進行更改?
- 14. Python的multiprocessing.Pool支持遠程子進程嗎?
- 15. 如何更改進程名稱objective-c
- 16. 如果創建multiprocessing.Pool,則Python子進程wait()失敗
- 17. 變量值如何通過交換函數進行更改?
- 18. 如何在數量欄中將數量更改爲10%-20%。
- 19. 如何更改單個程序的數量?
- 20. 如何取消訂閱或更改rethinkdb中的更改進料?
- 21. 如何更改腳本中的變量?
- 22. 如何更改量角器中的URL
- 23. 如何更改矢量中的值?
- 24. 如何更改Ruby中變量的值
- 25. 如何更改System.Windows.Media.MediaPlayer()中的音量
- 26. 如何更改iOS9中的音量?
- 27. 如何更改C++中的矢量項?
- 28. 如何更改bass.dll中的音量?
- 29. 如何更改TensorFlow中變量的值?
- 30. 如何更改perl中的常量值