本节书摘来自华章出版社《c#多线程编程实战(原书第2版)》一书中的第1章,第1.3节,作者(美)易格恩·阿格佛温(eugene agafonov),黄博文 黄辉兰 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
本节将展示如何让一个线程等待一段时间而不用消耗操作系统资源。
为了学习本节,你需要安装visual studio 2015。除此之外无需其他准备。本节的源代码放置在booksampleschapter1recipe2目录中。
请执行以下步骤来了解如何暂停线程而不消耗操作系统资源:
1.启动visual studio 2015。创建一个新的c# 控制台应用程序项目。
2.在program.cs文件中加入以下using指令:

3.在main方法下面加入以下代码片段:
4.在main方法中加入以下代码片段:
5.运行程序。
当程序运行时,会创建一个线程,该线程会执行printnumberswithdelay方法中的代码。然后会立即执行printnumbers方法。关键之处在于在printnumberswithdelay方法中加入了thread.sleep方法调用。这将导致线程执行该代码时,在打印任何数字之前会等待指定的时间(本例中是2秒钟)。当线程处于休眠状态时,它会占用尽可能少的cpu时间。结果我们会发现通常后运行的printnumbers方法中的代码会比独立线程中的printnumberswithdelay方法中的代码先执行。