网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > .Net >

C#异步编程的好处

时间:2025-03-28 15:02

人气:

作者:admin

标签:

导读:原文链接:https://www.cnblogs.com/ysmc/p/18798097 C# 异步编程的好处 异步编程是C#中非常重要的特性,它能让你的程序更高效、更流畅。我来用简单的方式解释它的好处: 1. 七窍玲珑心#160;- q...

原文链接:https://www.cnblogs.com/ysmc/p/18798097

C# 异步编程的好处

异步编程是C#中非常重要的特性,它能让你的程序更高效、更流畅。我来用简单的方式解释它的好处:

1. 七窍玲珑心 - "边敲代码边和女朋友通话"

  • 同步代码就像你敲代码时必须双手离开键盘才能接女朋友的电话

  • 异步代码让你可以边敲代码边和女朋友通话,不影响写bug,女朋友也哄不好

2. 人力资源合理应用 - "餐厅服务员"

  • 同步就像服务员一次只服务一桌,其他桌干等着

  • 异步就像服务员点完一桌菜就去服务下一桌,等菜好了再回来

3. 人员合理化运用 - "不浪费线程"

  • 同步会占用线程傻等(像雇人站着等水烧开)

  • 异步在等待时释放线程去做其他事(让工人去干别的活)

4. 客户至上 - "不转圈圈"

  • 同步操作时用户界面会冻结(转圈圈)

  • 异步操作时界面保持响应(可以继续操作)

5. 适合IO操作 - "快递驿站"

  • 读取文件、网络请求等IO操作特别适合异步

  • 你不需要等着快递的到来,让快递员放驿站,你空了再去拿好了

简单代码对比

 1 public class TestService
 2 {
 3     private readonly IHttpClientFactory _httpClientFactory;
 4 
 5     public TestService(IHttpClientFactory httpClientFactory)
 6     {
 7         _httpClientFactory = httpClientFactory;
 8     }
 9 
10     // 同步方式 - 会卡住UI
11     public object GetData()
12     {
13         using var httpClient = _httpClientFactory.CreateClient();
14         var data = httpClient.GetByteArrayAsync("https://example.com");
15         // 在获取完成前什么都做不了
16         return data;
17     }
18 
19     // 异步方式 - 不会卡住UI
20     public async Task<object> GetDataAsync()
21     {
22         using var httpClient = _httpClientFactory.CreateClient();
23         var data = await httpClient.GetByteArrayAsync("https://example.com");
24         // 在获取过程中程序可以干别的
25         return data;
26     }
27 }

同样感谢大佬们的观看!

本文来自博客园,作者:一事冇诚,转载请注明原文链接:https://www.cnblogs.com/ysmc/p/18798097

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信