【C#進階3-6】C#多線程

一、目錄

【Unity3D從入門到進階】文章目錄及設置這個專欄的初衷

二、定義

線程 被定義爲程序的執行路徑。每個線程都定義了一個獨特的控制流。如果您的應用程序涉及到複雜的和耗時的操作,那麼設置不同的線程執行路徑往往是有益的,每個線程執行特定的工作。

線程是輕量級進程。一個使用線程的常見實例是現代操作系統中並行編程的實現。使用線程節省了 CPU 週期的浪費,同時提高了應用程序的效率。

到目前爲止我們編寫的程序是一個單線程作爲應用程序的運行實例的單一的過程運行的。但是,這樣子應用程序同時只能執行一個任務。爲了同時執行多個任務,它可以被劃分爲更小的線程。

三、線程生命週期

線程生命週期開始於 System.Threading.Thread 類的對象被創建時,結束於線程被終止或完成執行時。

下面列出了線程生命週期中的各種狀態:

  • 未啓動狀態:當線程實例被創建但 Start 方法未被調用時的狀況。
  • 就緒狀態:當線程準備好運行並等待 CPU 週期時的狀況。
  • 不可運行狀態:下面的幾種情況下線程是不可運行的:
    • 已經調用 Sleep 方法
    • 已經調用 Wait 方法
    • 通過 I/O 操作阻塞
  • 死亡狀態:當線程已完成執行或已中止時的狀況。

四、主線程

在 C# 中,System.Threading.Thread 類用於線程的工作。它允許創建並訪問多線程應用程序中的單個線程。進程中第一個被執行的線程稱爲主線程。

當 C# 程序開始執行時,主線程自動創建。使用 Thread 類創建的線程被主線程的子線程調用。您可以使用 Thread 類的 CurrentThread 屬性訪問線程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章