C# 最多可以同時執行幾個執行緒 最多跑幾個執行緒How many Thread can Execute at the same time C#最多可以同時執行幾個執行緒 最多跑幾個執行緒 C#  How many Threads can Execute at the same time

我寫了一支簡單的程式測試,

差不多跑到30隻Thread的時候CPU就達到100%了,

下面是已經超過30的圖(我用雙螢幕)

http://i.imgur.com/nTC1Wet.png(完整圖片連結點我)



一開始印出很快,差不多到30之後就印的速度越來越慢了,

有時一秒左右或更久才印出一行,

最後我測試我的電腦到96左右就整個主控台變白色的沒有回應,

整台電腦當掉了,滑鼠移動變超慢,想關都關不掉,整個卡住,

想做什麼動作都做不了,

好不容易我花了大概十分鐘一直按Ctrl+C還有結束工作等等才關掉,真是好險

這個時候沒有截圖,但是知道差不多是96,

後來為了截個圖又跑了一次,不過我不想再當一次,

所以到71左右就先停止只是為了截圖秀一下而已

http://i.imgur.com/t5dIkKE.png (完整圖片連結點我)



最後附上程式碼


public static class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 200; i++)//雖然寫200但如上所說大概跑到96就不行了
            {
                Thread t = new Thread(ThreadPrint);    
                t.Start();
            }
            
        }

        public static int count = 1;
        public static void ThreadPrint()
        {
            Console.WriteLine("This the {0}th Thread",count);
            count++;//執行緒有繼續往下執行一定會經過這一行所以可以從cout的數字判斷有大約有幾個執行緒
            Console.WriteLine("This the {0}th ThreadGoing", count);
            while (true) { }//為了讓執行緒一直跑不要停才能測非同步(兩個執行緒同時做不同的事叫非同步)所以放一個無窮迴圈
        }
    }
arrow
arrow
    全站熱搜

    olivermode 發表在 痞客邦 留言(0) 人氣()