天天看點

《C#多線程程式設計實戰(原書第2版)》——1.3 暫停線程

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

本節将展示如何讓一個線程等待一段時間而不用消耗作業系統資源。

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

請執行以下步驟來了解如何暫停線程而不消耗作業系統資源:

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

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

《C#多線程程式設計實戰(原書第2版)》——1.3 暫停線程

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

《C#多線程程式設計實戰(原書第2版)》——1.3 暫停線程

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

《C#多線程程式設計實戰(原書第2版)》——1.3 暫停線程

5.運作程式。

當程式運作時,會建立一個線程,該線程會執行printnumberswithdelay方法中的代碼。然後會立即執行printnumbers方法。關鍵之處在于在printnumberswithdelay方法中加入了thread.sleep方法調用。這将導緻線程執行該代碼時,在列印任何數字之前會等待指定的時間(本例中是2秒鐘)。當線程處于休眠狀态時,它會占用盡可能少的cpu時間。結果我們會發現通常後運作的printnumbers方法中的代碼會比獨立線程中的printnumberswithdelay方法中的代碼先執行。