[閒聊] multiprocessing的thread數量

看板Python作者 (雪梅)時間8年前 (2016/05/03 21:54), 編輯推噓2(207)
留言9則, 4人參與, 最新討論串1/1
有一陣子我被這問題困擾,其實也不是什麼大問題, 比如說,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

05/03 22:07, , 1F
pool
05/03 22:07, 1F

05/03 22:43, , 2F
Pool 就是你要的沒錯 (不過用 queue 也不是不行)
05/03 22:43, 2F

05/03 22:46, , 3F
pool 不過queue應該也差不多意思
05/03 22:46, 3F

05/03 22:47, , 4F
桌機開一百的話反而反效果 考慮一下機器CPU再去做
05/03 22:47, 4F

05/03 22:58, , 5F
data有100個,但實際上我可以設定在跑的job只有5個10個吧
05/03 22:58, 5F

05/04 00:15, , 6F
那就是我的意思~ 所以你開一百條thread根本沒用 反而還
05/04 00:15, 6F

05/04 00:15, , 7F
花成本去開thread~
05/04 00:15, 7F

05/04 02:44, , 8F
@tiefblau 你根本沒看懂, 原 po 並沒有跑 100 條執行緒
05/04 02:44, 8F

05/04 02:45, , 9F
文章明明寫得很清楚 100 份 data 分給 10 個執行緒
05/04 02:45, 9F
文章代碼(AID): #1NAAsgoe (Python)