首页 > 编程语言 >c# async await详解

c# async await详解

时间:2024-09-27 15:25:09浏览次数:6  
标签:异步 调用 调用者 c# await async 执行

async await传染性

async/await具有传染性其实指的是你需要把异步函数的结果包装在 Task 类型当中。
之所以c#要加async的主要原因是之前的await不是关键字,老代码可能会把await作为变量名,为了兼容性才加了async明确标识函数是continuation。
await不能省略,在语义上有违直觉,为什么Task的返回值会自动转型成int?其次await也直观的表示其调用后面是一个异步操作,函数会在这个点切出去,有助于理解程序的运行流程。

几个关键词的区别:同步、异步、串行、并行、并发。以及async和串行不冲突以及异步不一定拖累性能。

同步异步

同步准确的含义是,一旦发起调用,调用者一定等待被调用任务结束后再继续执行。异步则打破了这一点,发起调用后,调用者可以立即向后执行,简单点也可以理解成被调用者无返回值,其执行结果往往通过其他方式,比如异步回调来收集(当然也是有其他方式的,比如消息队列、协程管道、进程邮箱等等都是可选手段之一)。

串行并行

串行为一个个任务依次执行,并行为可以多个任务同时执行。

并发

简单来说就是同时存在、同时发生。虽然执行者只有一个人,但完全可以几件事情交替执行。

async/await本质是异步,其关注的是调用或者任务的顺序。async修饰的方法执行后并没有返回(但有没有发起执行则不一定),调用者调用后立刻就向后执行了。async实际真正需要返回的只是一个Awaitable/Thenable异步回调的包装。核心是异步回调的语法糖。

标签:异步,调用,调用者,c#,await,async,执行
From: https://www.cnblogs.com/Small-Carp/p/18435380

相关文章

  • 养生壶专用液位检测芯片SC01/SC01B/WS003B实现液位提醒,告别干烧和溢液!
    ICMAN液位方案轻松实现水箱水位的非接触式液位检测/精确测量/防干烧保护!抗干扰能力强——ESD接触式8KV空间放电15KV,EFT为4KV,CS为动态10V液位检测——健康家电、清洁家电的液位检测、高低液位提醒等少不了!相关型号:ICman液位检测芯片和模组型号推荐:SC01、SC01B和WS003B。......
  • ETLCloud携手ClickHouse:高效的数据查询效率
    自从大数据处理技术走进大众视野、开源项目Hadoop的出现,以前受制于数据库处理能力的大数据技术蓬勃发展,传统关系型数据库所构建的数据仓库,被以Hive为代表的大数据技术所取代,随着技术不断发展,Hadoop虽然带来了诸多便利性,但是其臃肿和复杂的体系使得在海量数据和高时效性的压力下有......
  • 【IEEE出版(有ISBN号)、南京工业大学主办|EI会议|学生易中稿,超高录用率】2024年先进控制
    2024年先进控制系统与自动化技术国际学术会议(ACSAT2024)2024年11月15-17日  中国南京 大会网站:https://ais.cn/u/EvuyUf【投稿参会】截稿时间:以官网信息为准主办单位征稿主题论文出版所录用的论文将以会议论文集形式递交IEEE出版,已确定ISBN号。见刊后由出版......
  • BFA507 Accounting and Accountability for Decision
    BFA507AccountingandAccountabilityforDecisionMaking-Sem2,2024AssessmentTask2:OralpresentationDue: Week10-Friday,4thOctober2024at5.00pmILOsAddressed: ILO1,ILO2Maximumlength/format: 5-minutevideopresentationincluding:Powerpo......
  • 【计算机领域|SPIE独立出版,往届均已被EI&Scopus检索,最快会后三个月EI检索|河南工程学
    第四届计算机、信息工程与电子材料国际学术会议(CTIEEM2024)将于11月15-17日在中国郑州举办,主要围绕“计算机技术”、“信息工程”、“电子材料”、“电气工程”与“控制与自动化”等研究领域展开讨论。老牌会议|涵盖计算机学科 |往届均完成稳定检索大会网站:https://ai......
  • Springboot宠物乐园rp9dc(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,商家,宠物分类,宠物信息,宠物商品,宠物疫苗,疫苗预约,疫苗提醒,萌宠托管,宠物寄养,资讯分类,宠物资讯,商品分类,到期提醒,个人宠物开题报告内容一、研究背......
  • HarmonyOS NEXT-CoreVision Kit-FaceDetector-实现人脸识别,获取人脸数据
    效果演示图,右边的是人脸数据,可用来比对人脸注意这里只有真机才能测试是否成功,测试机型pce-w30实现这个效果很简洁:打开相册、选取图片、打开文件、创建imageSource、创建PixelMap、喂给faceDetector拿到结果在这里我简单封装了两个工具类方便后续使用,分别是:照片选择类、......
  • vue3 vxe-grid 通过数据库返回的列信息,生成columns,并且其中有一列是img类型,进行slots
    1、一般我们写死的列信息的时候,会这样定义:2、然后我们在template里面,这样这样写slots格式化部分:这样表格中就会展示出一张图片,并且,我们点击了可以查看大图。3、那么我们从数据库中返回的列,应该如何去写:letfields={field:item.fieldname,......
  • 传化化学:CRM如何助力实现业务、管理、效率三重飞跃
    传化集团是一家多元化、多品牌、全球化的产业集团。创业38年来始终与时代同步、与国家同频,布局传化化学、新安化工、传化物流、传化科技城、传化农业等业务。下属传化智联和新安股份两家上市公司,拥有员工16000人,产品和服务覆盖130多个国家和地区,旗下拥有 20余个高新技术企业、10......
  • oracle数据泵导出导入数据
    1.创建表空间createtablespacetbs_testdatafile'/yourpath/tbs_test01.dbf'size5gautoextendonnext1gmaxsizeunlimited;2.创建用户并授权createusertestidentifiedby123456defaulttablespace tbs_test temporarytablespacetempquotaunlimitedontes......