1. 异步方法的返回值有以下三类, 返回值一般是Task
Task
2. 即使方法没有返回值,也最好使用Task返回值,而不是void.
3. 调用异步方法时,一般在方法前加上await 关键词,这样拿到的返回值就是指定的泛型类型。
4. 方法中如果使用了await关键词,则方法必须修饰为async. VS2022会智能加上!
static async Task FileCreationAsync(){string fileName = "C:/work/test1.txt";File.Delete(fileName);StringBuilder sb = new StringBuilder();for (int i = 0; i < 100000; i++){sb.AppendLine("helo word");}await File.WriteAllTextAsync(fileName, sb.ToString());string s = await File.ReadAllTextAsync(fileName);Console.WriteLine(s);}
有时候不能使用await,必须转换为同步方法,这时候可以使用Task对象的Result属性和Wait()方法将异步方法转换为同步方法。
注意:此处有风险,容易出现死锁。
持续更新:
需要继续深入Threadpool跟.Net的锁
上一篇:一位老鹰球迷投进了中场三分 喜提10000美元奖励 鑰侀拱鐞冭糠涓満鏈夊鎶曠 鑰侀拱鐞冭糠搴嗙杩涘叆涓滃喅
下一篇:七八十岁男人,为什么劝你“春天戴帽、少穿卫衣”?看完就明白了 七八十岁男人,为什么劝你“春天戴帽、少穿卫衣”?看完就明白了