看板 C_Sharp 關於我們 聯絡資訊
想請問一下 我做了一個MultiThread,程式碼如下: private static void TimerShow() { while (true) { Console.WriteLine("Hi, SeptemHill"); Thread.Sleep(5000); } } private static void TimerSay() { while (true) { Console.WriteLine("Hi, Nicole"); } } static void Main(string[] args) { ThreadStart BackThread_1 = new ThreadStart(TimerShow); Thread Threading_1 = new Thread(BackThread_1); ThreadStart BackThread_2 = new ThreadStart(TimerSay); Thread Threading_2 = new Thread(BackThread_2); Threading_1.Start(); Threading_2.Start(); for (int i = 0; i < 1000; i++) { Console.WriteLine(i.ToString()); } Threading_1.Abort(); Threading_2.Abort(); } 利用Thread.Sleep()的話 我看到的是說:導致所有的Thread全部跟著暫停Sleep的時間 但是照我上面程式碼做出來的結果好像不是這個樣子 而利用Thread.Join()的話 才是單一Thread暫停,其餘的Thread繼續進行 想請問一下,我這樣的觀念出問題了嗎? 還是我的程式碼有問題? 請各位指點一下,謝謝 -- Ultimate Treein ˍˍ ▕慕京▏ ▕子印▏  ̄ ̄ http://septemhill.pixnet.net/blog -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.42.238
hamsters:Thread.Sleep 是暫停目前的執行緒 (呼叫此方法的執行緒) 05/10 00:19
hamsters:Join 是暫停目前執行緒,等指定執行緒結束後再開始 05/10 00:20
godman362:原來如此,那是我弄錯觀念了,謝謝H大 05/10 07:13