C#多執行緒詳解(一) Thread.Join()的詳解

iDotNetSpace發表於2010-01-15

什麼是程式?
當一個程式開始執行時,它就是一個程式,程式包括執行中的程式和程式所使用到的記憶體和系統資源。
而一個程式又是由多個執行緒所組成的。

什麼是執行緒?
執行緒是程式中的一個執行流,每個執行緒都有自己的專有暫存器(棧指標、程式計數器等),但程式碼區是共享的,即不同的執行緒可以執行同樣的函式。

什麼是多執行緒?
多執行緒是指程式中包含多個執行流,即在一個程式中可以同時執行多個不同的執行緒來執行不同的任務,也就是說允許單個程式建立多個並行執行的執行緒來完成各自的任務。

多執行緒的好處:
可以提高CPU的利用率。在多執行緒程式中,一個執行緒必須等待的時候,CPU可以執行其它的執行緒而不是等待,這樣就大大提高了程式的效率。

多執行緒的不利方面:
執行緒也是程式,所以執行緒需要佔用記憶體,執行緒越多佔用記憶體也越多;
多執行緒需要協調和管理,所以需要CPU時間跟蹤執行緒;
執行緒之間對共享資源的訪問會相互影響,必須解決競用共享資源的問題;
執行緒太多會導致控制太複雜,最終可能造成很多Bug;

接下來將對C#程式設計中的多執行緒機制進行探討。為了省去建立GUI那些繁瑣的步驟,更清晰地逼近執行緒的本質,接下來的所有程式都是控制檯程式,程式最後的Console.ReadLine()是為了使程式中途停下來,以便看清楚執行過程中的輸出。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-625202/,如需轉載,請註明出處,否則將追究法律責任。

相關文章