《C#多线程编程实战(原书第2版)》——1.3 暂停线程

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

1.3 暂停线程

本节将展示如何让一个线程等待一段时间而不用消耗操作系统资源。

1.3.1 准备工作

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

1.3.2 实现方式

请执行以下步骤来了解如何暂停线程而不消耗操作系统资源:

1.启动Visual Studio 2015。创建一个新的C# 控制台应用程序项目。

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


29f7d8a2aec59ef3a2c7b149e6b581d52b3febc7

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


cdd1e4c2e7414092718baacdad78d882cc10e0c8

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


eb2cf63f4aafae081f51fd9235aaab91910d8979

5.运行程序。

1.3.3 工作原理

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值