天天看点

《C#多线程编程实战(原书第2版)》——3.7 使用计时器

本节书摘来自华章出版社《c#多线程编程实战(原书第2版)》一书中的第3章,第3.7节,作者(美)易格恩·阿格佛温(eugene agafonov),黄博文 黄辉兰 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

本节将描述如何使用system.threading.timer对象来在线程池中创建周期性调用的异步操作。

为了学习本节,你需要安装visual studio 2015。除此之外无需其他准备。本节的源代码放置在booksampleschapter3recipe6目录中。

请执行以下步骤来了解如何在线程池中创建周期性调用的异步操作:

1.启动visual studio 2015。新建一个c#控制台应用程序项目。

2.在program.cs文件中加入以下using指令:

《C#多线程编程实战(原书第2版)》——3.7 使用计时器

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

《C#多线程编程实战(原书第2版)》——3.7 使用计时器

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

《C#多线程编程实战(原书第2版)》——3.7 使用计时器

5.运行程序。

我们首先创建了一个timer实例。第一个参数是一个lambda表达式,将会在线程池中被执行。我们调用timeroperation方法并给其提供一个起始时间。由于无须使用用户状态对象,所以第二个参数为null。然后指定了什么时候会第一次运行timeroperation,以及之后再次调用的间隔时间。所以第一个值实际上说明一秒后会启动第一次操作,然后每隔两秒再次运行。

之后等待6秒后修改计时器。在调用_timer.change方法一秒后启动timeroperation,然后每隔4秒再次运行。

最后等待回车键被按下以结束整个应用程序。在程序运行过程中可以看到自从程序启动后经历的时间。