天天看點

《C#多線程程式設計實戰(原書第2版)》——1.2 使用C#建立線程

本節書摘來自華章出版社《c#多線程程式設計實戰(原書第2版)》一書中的第1章,第1.2節,作者(美)易格恩·阿格佛溫(eugene agafonov),黃博文 黃輝蘭 譯,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

在接下來的内容中,我們将使用visual studio 2015作為主要的工具來使用c#編寫多線程程式。本節将展示如何建立一個新的c#程式,并在該程式中使用線程。

為了學習本節,你需要安裝visual studio 2015。除此之外無需其他準備。本節的源代碼放置在booksampleschapter1recipe1目錄中。

請執行以下步驟來了解如何建立一個新的c#程式,并在其中使用線程:

1.啟動visual studio 2015。建立一個c# 控制台應用程式項目。

2.確定該工程使用.net framework 4.6或以上版本。不過本節的代碼在之前的版本中也能正常運作。

《C#多線程程式設計實戰(原書第2版)》——1.2 使用C#建立線程

3.在program.cs檔案中加入以下using指令:

《C#多線程程式設計實戰(原書第2版)》——1.2 使用C#建立線程

4.在main方法下面加入以下代碼片段:

《C#多線程程式設計實戰(原書第2版)》——1.2 使用C#建立線程

5.在main方法中加入以下代碼片段:

《C#多線程程式設計實戰(原書第2版)》——1.2 使用C#建立線程

6.運作程式。輸出如下所示:

《C#多線程程式設計實戰(原書第2版)》——1.2 使用C#建立線程

步驟1和步驟2建立了一個c#的簡單的控制台應用程式,使用了.net framework 4.0版本。步驟3引用了命名空間system.threading,該命名空間包含了該程式用到的所有類型。我們使用了c#6.0提供的using static特性,可以使用system.console類型的靜态方法而不用我們指定類型名。

步驟4中定義了方法printnumbers,該方法會被主程式和新建立的線程使用。在步驟5中建立了一個線程來運作printnumbers方法。當我們構造一個線程時,threadstart或parameterizedthreadstart的執行個體委托會傳給構造函數。我們隻需指定在不同線程運作的方法名,而c#編譯器則會在背景建立這些對象。然後我們在主線程中以通常的方式啟動了一個線程來運作printnumbers方法。

結果兩組範圍為1到10的數字會随機交叉輸出。這說明printnumbers方法同時運作在主線程和另一個線程中。