作者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