|
原文链接:https://www.cnblogs.com/ysmc/p/18798097
C# 异步编程的好处
异步编程是C#中非常重要的特性,它能让你的程序更高效、更流畅。我来用简单的方式解释它的好处:
1. 七窍玲珑心 - "边敲代码边和女朋友通话"
2. 人力资源合理应用 - "餐厅服务员"
3. 人员合理化运用 - "不浪费线程"
4. 客户至上 - "不转圈圈"
-
同步操作时用户界面会冻结(转圈圈)
-
异步操作时界面保持响应(可以继续操作)
5. 适合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
来源:https://www.cnblogs.com/ysmc/p/18798097 |