作者godman362 (青)
看板C_Sharp
標題[問題] Thread.Sleep()
時間Sat May 9 22:13:27 2009
想請問一下
我做了一個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