C# 异步编程

在.net Core中,微软提供了async以及await,可以使我们很轻松的编写异步代码,并且async和await要同时使用。减少对服务器的访问次数,不要将不需要的数据提前拿出来。

编写异步方法应该注意的点:

1.方法名应该是 async Task 而非 async void.

总结一句话就是:void的异步方法发生异常时,开发者得不到任何通知,程序既不会触发普通的异常处理程序,也不会把这些异常记录下来。总之,这会让相关的线程默默的终止掉。但Task会汇报异常信息。

2.不要混合使用阻塞代码和异步代码

3.不要把同步方法与异步方法组合起来使用(尽量不用Wait()以及.result这些阻塞式的方法),.result会阻塞其他方法的调用,只有当前方法执行完,才会执行下面的方法。对于await来说,当主方法调用的方法中有await,就先执行await代表的方法,顺便返回主方法去执行其他方法,await执行完在执行下面的方法。

4.尽量异步执行I/O操作

相关推荐
mldong4 分钟前
Node 开发者也有自己的轻量工作流引擎了:npm i 一行,5 分钟跑通一条审批流
javascript·后端·typescript
benbenAItalk8 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
sunshine22 girl8 小时前
Java学习二 基本语法2, 算术运算符
java·学习
2601_966949659 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
niucloud-admin9 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
我爱吃土豆19 小时前
AI 编程工具远程开发指南:Codex 桌面版与 WorkBuddy 通过 SSH 连接云服务器实践
服务器·人工智能·ssh
2601_962885729 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
滕州市燕猫虎计算机科技工作室个体工商户9 小时前
Java锁
java·开发语言
西瓜太郎12349 小时前
Claude Code、Codex CLI、Gemini CLI 能否共用一枚 Key?先看协议选择矩阵
前端·api 网关·claude code·gemini cli·codex cli
一技安身9 小时前
【信创】银河麒麟V10、统信UOS解压7Z文件
linux·运维·服务器