时间:2025-03-28 15:02
人气:
作者:admin
原文链接:https://www.cnblogs.com/ysmc/p/18798097
异步编程是C#中非常重要的特性,它能让你的程序更高效、更流畅。我来用简单的方式解释它的好处:
同步代码就像你敲代码时必须双手离开键盘才能接女朋友的电话
异步代码让你可以边敲代码边和女朋友通话,不影响写bug,女朋友也哄不好
同步就像服务员一次只服务一桌,其他桌干等着
异步就像服务员点完一桌菜就去服务下一桌,等菜好了再回来
同步会占用线程傻等(像雇人站着等水烧开)
异步在等待时释放线程去做其他事(让工人去干别的活)
同步操作时用户界面会冻结(转圈圈)
异步操作时界面保持响应(可以继续操作)
读取文件、网络请求等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
Microsoft Agent Framework Skills 执行 Scripts(实
EF Core 原生 SQL 实战:FromSql、SqlQuery 与对