C#async\await组合

一、概述

  编译器提供的便捷功能,就是语法糖。可以理解为是为了优化代码。被async修饰的函数被称之为异步函数,主要用于异步编程,着重于靠await实现回调机制。

二、声明

  async/await由三部分组成:调用方法、异步函数、await表达式。调用方法调用异步函数,异步函数包含await表达式。

//async用在方法名之前
 public static async Task<int> Test(){
//await 用在task前面
await task;

三、作用

  主线程在执行到await task时,会跳出task所在的方法体,而await task后面的语句都会被封装成一个后续操作(任务)

  在task执行完之后,该任务会被其他线程调用,有可能是主线程、子线程(相当于task.ContinueWith)或者其他线程。

 

四、注意事项

  1、在winform主界面使用async/await时,awai task中的task执行完之后,这个后续操作一定会被主线程调用。

  2、该组合要么不用,要用就一路用到底。

  3、await中可以嵌套多个await。

  4、await t 跟 t.wait 的区别:t.wait让主线程等待t完成,而await t 主线程会回到Main函数继续执行。

posted @ 2022-07-18 18:13  Darius丶段  阅读(260)  评论(0)    收藏  举报