[Thread] 執行緒的順序啟動 - Thread.Join方法

http://www.dotblogs.com.tw/yc421206/archive/2011/01/04/20575.aspx


Join語意是加入,但跟官網的解釋不太一樣,Thread.Join 方法在官網的解釋是:封鎖呼叫執行緒,直到執行緒結束為止。

沒錯!在這裡它是封鎖的意思,那是封鎖什麼呢?做啥用途的呢?它是用來做順序控制用的;這樣講好了,假設你現在有兩條執行緒名叫a、b要將它做順序啟動,當a工作完成之後才叫b工作,這時就可以用Thread.Join方法;查了一下網路也有人叫它合併,但總覺得不太合適,總之見人見智,小弟不玩文字遊戲,對我而言它就是可以用來做順序啟動。

我們來觀察下列程式碼,程式碼出自http://msdn.microsoft.com/zh-tw/library/system.threading.thread.aspx

 

當主程式(執行緒a)使用了Join方法後,會等到ThreadProc方法(執行緒b)的工作完成才會再往下一行 Console.WriteLine("Main thread: ThreadProc.Join has returned.  Press Enter to end program.") 執行。

由此一來,Join的功能就如同msdn上解釋的相同了。


你可能感兴趣的:([Thread] 執行緒的順序啟動 - Thread.Join方法)