《Async in C# 5.0》第一章 引言

本文是《Async in C# 5.0》第一章的概述,介绍了异步编程的概念,强调其在释放资源和提高程序响应性上的优势。C# 5.0引入的async和await关键字简化了异步编程,使得代码更易读。通过示例展示了async如何工作,同时提醒读者需要注意异常处理、返回值、线程上下文和性能等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阅读此书的约定

斜体字: 表示新定义的术语、URL、邮件地址、文件名、文件扩展名。

下面的图标表示:小贴士、建议或者注释。


第一章 引言

首先,让我们先避开细节、从较高层次介绍一下C# 5.0中的async功能,看看它对你来说到底意味着什么。

异步编程

 什么样的代码是异步的呢?如果程序开始执行耗时操作后,程序不会等待耗时操作结束才往下继续执行,这样的代码就是异步的。如果程序一直要等待耗时操作结束后才能继续往下执行,这样的代码就是阻塞代码(blocking code)。

常见的耗时操作包括下列情况:

  • 网络请求
  • 磁盘访问
  • 故意延迟等待一段时间

对于我们通常使用的编程语言来说,程序都在操作系统的线程上执行。如果当执行耗时操作时,启动了耗时操作的线程(称之为启动线程)之后,就继续去做其它事情,这样的代码就是异步的;如果启动线程什么事也不做(被阻塞了),这样的代码就是阻塞的。所以说,区分异步和阻塞代码的重点的就在于这个启动线程是否等待耗时操作执行完才去做接下来的工作。

</

当然,解决等待耗时操作问题的第三种策略是:轮询(polling)——你可以反复询问任务是否已经结束。

但通常来说不推荐这种方法,因为它只适用于操作时长较短的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值