作者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://webptt.com/cn.aspx?n=bbs/Python/M.1462283690.A.CA8.html
1F:→ SocketAM2: pool 05/03 22:07
2F:→ uranusjr: Pool 就是你要的没错 (不过用 queue 也不是不行) 05/03 22:43
3F:推 tiefblau: pool 不过queue应该也差不多意思 05/03 22:46
4F:→ tiefblau: 桌机开一百的话反而反效果 考虑一下机器CPU再去做 05/03 22:47
5F:→ shemale: data有100个,但实际上我可以设定在跑的job只有5个10个吧 05/03 22:58
6F:推 tiefblau: 那就是我的意思~ 所以你开一百条thread根本没用 反而还 05/04 00:15
7F:→ tiefblau: 花成本去开thread~ 05/04 00:15
8F:→ uranusjr: @tiefblau 你根本没看懂, 原 po 并没有跑 100 条执行绪 05/04 02:44
9F:→ uranusjr: 文章明明写得很清楚 100 份 data 分给 10 个执行绪 05/04 02:45