本節書摘來自華章出版社《c#多線程程式設計實戰(原書第2版)》一書中的第3章,第3.7節,作者(美)易格恩·阿格佛溫(eugene agafonov),黃博文 黃輝蘭 譯,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
本節将描述如何使用system.threading.timer對象來線上程池中建立周期性調用的異步操作。
為了學習本節,你需要安裝visual studio 2015。除此之外無需其他準備。本節的源代碼放置在booksampleschapter3recipe6目錄中。
請執行以下步驟來了解如何線上程池中建立周期性調用的異步操作:
1.啟動visual studio 2015。建立一個c#控制台應用程式項目。
2.在program.cs檔案中加入以下using指令:

3.在main方法下面加入以下代碼片段:
4.在main方法中加入以下代碼片段:
5.運作程式。
我們首先建立了一個timer執行個體。第一個參數是一個lambda表達式,将會線上程池中被執行。我們調用timeroperation方法并給其提供一個起始時間。由于無須使用使用者狀态對象,是以第二個參數為null。然後指定了什麼時候會第一次運作timeroperation,以及之後再次調用的間隔時間。是以第一個值實際上說明一秒後會啟動第一次操作,然後每隔兩秒再次運作。
之後等待6秒後修改計時器。在調用_timer.change方法一秒後啟動timeroperation,然後每隔4秒再次運作。
最後等待Enter鍵被按下以結束整個應用程式。在程式運作過程中可以看到自從程式啟動後經曆的時間。