体验async/await异步编程

简介:

带界面的应用程序为了防止卡死界面,经常要用到异步编程,常用的方法无论是线程还是异步回调,都不可避免的破坏了代码的流畅性和可读性。今天体验了一把async/await,感觉太爽了,异步开发就像同步一样,完全由Framework底层来处理异步问题。写个小Demo:

假设有一个方法对给定的两个整数进行复杂运算,会耗费较长时间:

 
  1. public void Compute(int x, int y)  
  2. {  
  3.     //计算过程省略 
  4.     return ......;  
  5. }  

为它封装一个异步方法:

 
  1. public Task<int> ComputeAsync(int x, int y) 
  2.     //把原方法包装到Task.Run中去 
  3.     return Task.Run<int>(() => { return Compute(x, y); }); 

假设我们是在按一个按钮的时候调用Compute方法:

 
  1. //用async修饰一下调用方法,这样在方法里才能使用await关键字 
  2. private async void Button_Click(object sender, EventArgs e) 
  3.     try 
  4.     { 
  5.         //await表示等待ComputeAsync异步执行完毕,注意它不阻塞,因此界面线程不受影响。 
  6.         int sum = await ComputeAsync(100, 100); 
  7.  
  8.         //异步执行完毕后,会接下来执行下面的代码,就像在回调中一样 
  9.         MessageBox.Show(string.Format("Result is {0}", sum)); 
  10.     } 
  11.     catch 
  12.     { 
  13.         MessageBox.Show("Error"); 
  14.     } 

看一看Button_Click的代码,和同步调用时几乎一模一样,我们只是加了async和await关键字而已,异步过程完全由Framework底层去处理,太爽了~~

 






     本文转自 BoyTNT 51CTO博客,原文链接:http://blog.51cto.com/boytnt/852253,如需转载请自行联系原作者


相关文章
|
弹性计算 Windows
阿里云学生机续费任务
阿里云学生机为学生搭建服务器平台提供了很大便利,可以通过笔记本实现操作,我在此平台上操作学习,深感便捷。
422 0
|
9天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
483 125
|
18天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
3天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
5天前
|
人工智能 安全 Cloud Native
Higress 新发布:AI Gateway 能力增强,Gateway API 及其推理扩展持续打磨
增强 AI 网关能力,持续打磨 Gateway API 及其推理扩展。
322 124
|
13天前
|
机器学习/深度学习 人工智能 调度
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
HappyHorse 1.1 是新一代视频生成大模型,全面升级动态表现力、角色一致性、指令遵循、视觉质感与音画协同能力。支持I2V/T2V/R2V三类生成,适配短剧、电商广告、品牌营销等场景,提供高质、流畅、可控的AI视频生产力。
808 5
🐴 HappyHorse 1.1 现已上线阿里云百炼!快来查收模型使用指南,现在调用享 6 折~
|
4天前
|
人工智能 安全 程序员
终于,Claude Code 封号的原因被曝光了!竟然针对中国用户,植入隐形代码?!
通俗易懂地揭秘 Claude Code 封号的手段,分享一些自己对 AI 编程困境的思考,Codex、Cursor、DeepSeek、智谱 GLM、甚至是豆包,都有所行动了
320 1

热门文章

最新文章