作者jokingfish (ㄚ鱼!!)
看板Programming
标题[问题] 请问有关多执行绪
时间Thu Oct 27 17:45:27 2011
最近自学了多执行绪的写法
程式设计上也还测试OK
但是还是想进一步加快速度
目前我有一个function(int i) i=0~99
我只会傻傻地将i的个数切成四分 0~24 25~49 50~74 75~99
然後开四个执行绪去跑
因为每一个function的执行时间快慢不一
可能有一个执行绪跑完25个 另外一个只跑了10个
跑完的那个还是要等没跑完的 感觉这样有点浪费.....
请问有没有写法让时间均匀一点?
比如说让执行绪去自动去抓还没跑完的i
还请版友帮忙 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.112.106
1F:→ akasan:每个thread 只取一些消化完了再继续拿 114.36.172.61 10/27 20:07
2F:→ WPC001:看你的function复杂度~~ 生成一个thread是 114.43.68.208 10/28 00:50
3F:→ WPC001:相当消耗资源的... 当然要让他多做一些事再 114.43.68.208 10/28 00:51
4F:→ WPC001:结束... 114.43.68.208 10/28 00:51
5F:→ WPC001:把工作切得太小,变成浪费时间在产生thread 114.43.68.208 10/28 00:52
6F:→ WPC001:要避免系统资源浪费在资料的分配与重组上~~ 114.43.68.208 10/28 01:01
7F:→ jokingfish:目前我是开4个thread 请问是要多开几个122.117.112.106 10/28 11:23
8F:→ jokingfish:若CPU有空闲 就会自动去抓那些还没跑122.117.112.106 10/28 11:25
9F:→ jokingfish:的thread 是这样吗?122.117.112.106 10/28 11:25