1. 程式人生 > >c# 多執行緒執行一個函式

c# 多執行緒執行一個函式

(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--;//完成一個執行緒就將執行緒數量減一
        }