task demo2 异步方法- async、await关键字

Task2 关键字asyncawait的使用

C# 中的 async /əˈsɪŋk/ 和 await 关键字,属于基于任务的异步模式,是 .NET TAP Task-based asynchronous Pattern)在语言级别上的支持。通过这两个关键字,可以轻松创建异步方法(我们可以像写同步代码一样去写异步代码,几乎与创建同步方法一样轻松

net4.0 ThreadPool 的基础上推出了 Task 类,微软极力推荐使用 Task 来执行异步任务,现在 C# 类库中的异步方法基本都用到了 Task

net5.0 推出了 async/await,让异步编程更为方便。我们在开发中可以尝试使用 Task 来替代 Thread/ThreadPool,处理本地 IO 和网络 IO 任务时,尽量使用 async/await 来提高任务执行效率

控制流流转

1)返回类型是 void 的异步方法

返回类型是 void 的异步方法,调用时不能使用 await 运算符,须直接调用;这样的调用,不阻塞调用方所在线程。

2)返回类型是 Task Task<T> 的异步方法

在异步方法前加 await 关键字,调用方线程仅执行到异步方法中 第一个 await 语句,调用方 await 语句之后还有代码,视为异步方法最后一个await语句之后的代码,将由新开线程执行;

使用关键字 async await ,使开发者能更好地、简便地进异步编程。

控制流流转方式简便记忆:

  • await 前,同线程(与调用方);
  • await 后,新线程(包括调用方调用后代码);
  • 返回 void,不阻塞;

  • 25
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值