我要運算一系列的參數 用到好幾層for迴圈
最內層要做一個耗時運算 使用新的執行緒進行此運算
for(第一層)
{
for(第二層)
{
for(第三層)
{
new Thread(()=> DoWork()).start();
}
}
}
但迴圈一多 新的thread也會變很多 應該會浪費很多時間在thread間切換吧?
請問大概要控制在多少個thread可以有最佳運算效率 減少整體的運算時間呢?
另外要用什麼方法來控制新thread的啟用呢?
=> 目前想法是用List<Thread>加入每層for loop建立的Thread instance
假設先一次啟動前100個 原thread就定時檢查 如果isAlive小於100
就再start後面尚未啟動的thread 不知這樣如何?
謝謝!!