[問題] 請問有關多執行緒

看板Programming作者 (ㄚ魚!!)時間14年前 (2011/10/27 17:45), 編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/2 (看更多)
最近自學了多執行緒的寫法 程式設計上也還測試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

10/27 20:07, , 1F
每個thread 只取一些消化完了再繼續拿
10/27 20:07, 1F

10/28 00:50, , 2F
看你的function複雜度~~ 生成一個thread是
10/28 00:50, 2F

10/28 00:51, , 3F
相當消耗資源的... 當然要讓他多做一些事再
10/28 00:51, 3F

10/28 00:51, , 4F
結束...
10/28 00:51, 4F

10/28 00:52, , 5F
把工作切得太小,變成浪費時間在產生thread
10/28 00:52, 5F

10/28 01:01, , 6F
要避免系統資源浪費在資料的分配與重組上~~
10/28 01:01, 6F

10/28 11:23, , 7F
目前我是開4個thread 請問是要多開幾個
10/28 11:23, 7F

10/28 11:25, , 8F
若CPU有空閒 就會自動去抓那些還沒跑
10/28 11:25, 8F

10/28 11:25, , 9F
的thread 是這樣嗎?
10/28 11:25, 9F
文章代碼(AID): #1EgIWvSq (Programming)
文章代碼(AID): #1EgIWvSq (Programming)