[問題] 多執行緒效率
我要運算一系列的參數 用到好幾層for迴圈
最內層要做一個耗時運算 使用新的執行緒進行此運算
for(第一層)
{
for(第二層)
{
for(第三層)
{
new Thread(()=> DoWork()).start();
}
}
}
但迴圈一多 新的thread也會變很多 應該會浪費很多時間在thread間切換吧?
請問大概要控制在多少個thread可以有最佳運算效率 減少整體的運算時間呢?
另外要用什麼方法來控制新thread的啟用呢?
=> 目前想法是用List<Thread>加入每層for loop建立的Thread instance
假設先一次啟動前100個 原thread就定時檢查 如果isAlive小於100
就再start後面尚未啟動的thread 不知這樣如何?
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.125.94
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1454507190.A.22B.html
※ 編輯: ozone (140.112.125.94), 02/03/2016 21:51:17
→
02/03 22:49, , 1F
02/03 22:49, 1F
→
02/03 22:51, , 2F
02/03 22:51, 2F
→
02/03 22:51, , 3F
02/03 22:51, 3F
→
02/04 01:36, , 4F
02/04 01:36, 4F
→
02/04 10:48, , 5F
02/04 10:48, 5F
→
02/04 10:48, , 6F
02/04 10:48, 6F
→
02/04 10:48, , 7F
02/04 10:48, 7F
→
02/04 12:11, , 8F
02/04 12:11, 8F
→
02/04 12:11, , 9F
02/04 12:11, 9F
→
02/04 15:31, , 10F
02/04 15:31, 10F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章