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) { }//為了讓執行緒一直跑不要停才能測非同步(兩個執行緒同時做不同的事叫非同步)所以放一個無窮迴圈
}
}
全站熱搜
留言列表