作者shemale (雪梅)
看板Python
標題[閒聊] multiprocessing的thread數量
時間Tue May 3 21:54:47 2016
有一陣子我被這問題困擾,其實也不是什麼大問題,
比如說,100個data分給10個threads處理,平均一個thread分到10個。
但是,這data處理時間並不一致,時間有長有短,
可能有幾個特別長,所以,拿到長的那個thread,可能後面還有一些data,
全等在那裡,其他的thread都做完了,卻不能幫忙。
目前我是用multiprocessing.Queue,100個data全丟到queue,
每個thread處理完的自己去queue拿下一個,這樣比較沒有浪費到時間。
不知道大家有沒有其他更好的,或是現成就有我卻沒去用的?
因為我不確定multiprocessing.Pool是不是我要的~~
--
看了神鵰俠侶,就應該知道年齡不是問題;
看了斷背山後,就應該知道性別不是問題;
看了金剛後,就應該明白是不是人也不是問題;
看了倩女幽魂以後,更要知道活不活著都不是問題……
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.79.158
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1462283690.A.CA8.html
→ SocketAM2: pool 05/03 22:07
→ uranusjr: Pool 就是你要的沒錯 (不過用 queue 也不是不行) 05/03 22:43
推 tiefblau: pool 不過queue應該也差不多意思 05/03 22:46
→ tiefblau: 桌機開一百的話反而反效果 考慮一下機器CPU再去做 05/03 22:47
→ shemale: data有100個,但實際上我可以設定在跑的job只有5個10個吧 05/03 22:58
推 tiefblau: 那就是我的意思~ 所以你開一百條thread根本沒用 反而還 05/04 00:15
→ tiefblau: 花成本去開thread~ 05/04 00:15
→ uranusjr: @tiefblau 你根本沒看懂, 原 po 並沒有跑 100 條執行緒 05/04 02:44
→ uranusjr: 文章明明寫得很清楚 100 份 data 分給 10 個執行緒 05/04 02:45