Re: [問題] multiprocessing.pool能不用name==main嗎

作者: surimodo (好吃棉花糖)   2022-12-01 20:06:26
※ 引述《Pettitte1 (低調奢華有內涵)》之銘言:
: 是這樣的 目前已經會用 multiprocessing.pool 來取得結果
: 範例 code 如下
: https://paste.ee/p/DY72q
: 我可以在 if __name__ == '__main__': 之後取得我要的 data "d"
: 如果我後續想要對 d 進行其他各種運算
: 是否就只能在 if __name__ == '__main__': 縮排內進行各種動作?
: 能夠不用 if __name__ == '__main__':
: 就直接 run m() 這個 function 嗎?
可以考慮 concurrent.futures
應該算python新推的併行處理庫
用意就是取代multiprocessing
封裝成更高階API使用上更便利
改了一下 不用 if __name__ == '__main__' 也能跑
https://paste.ee/p/5vjuQ
不過這是創 thread 不是 process
如果一定要process
那就沒辦法了
另外 ThreadPoolExecutor() 裡面能塞你要創幾個threads
像是 ThreadPoolExecutor(max_workers=50)
就是 python 要求建議 3.7 以上
以上
作者: chang1248w (彩棠)   2022-12-01 20:13:00
這樣用thread有繞開硬件鎖?
作者: Pettitte1   2022-12-02 21:05:00
感謝回覆 是可以用的不過時間反而變長了 應該也是跟Threading一樣的問題

Links booklink

Contact Us: admin [ a t ] ucptt.com