c# 多執行緒執行一個函式
阿新 • • 發佈:2019-02-12
(1)感謝宣告
首先感謝黃師,劉老師給於的指導(學校的指導老師)其次感謝這篇部落格的博主寫出了這麼好的文章:http://www.cnblogs.com/yunfeifei/p/3993401.html
感謝那位大神,給我指點迷津,雖然不知道你全名,姑且就叫你楊工吧!
(2)記錄備忘
由於剛剛入門這個多執行緒,所以此部落格僅僅用於記錄備忘,同時也給和我一樣的初學者一個入門通道
我先來講講我目前理解的多執行緒,可能不對,也請大家指正
比如:我現在有100個工作要人去做 ,而做的人只有一個,就算一個任務一秒鐘,也得一百秒
而現在,我是用了多執行緒,就相當於我廣招天下英才招了99個人,然後大家一起來幹這一百件事,僅僅一秒就完成
同樣,獲得了快的處理也有了開銷大的不良影響,那麼這樣,就算我9個人,我也僅僅只需要9秒就完成(控制執行緒數量)
所以就這樣
(3)程式碼實列
for (int sub = 0; sub < threadNameArray.Length; sub++) // { if (threadNameArray[sub] != null) { Count++; Thread blackName = new Thread(new ParameterizedThreadStart(addtoOrc));//新建一個執行緒並且繫結執行函式 blackName.Start(threadNameArray[sub]);//傳入執行緒引數(執行緒引數是一個object基類要小心) } while(true){ if (dividedNum < 10) break;//控制執行緒數最大為10 } }
public void addtoOrc(object name)//繫結的執行函式
{
//你的處理程式碼
dividedNum--;//完成一個執行緒就將執行緒數量減一
}