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操作

相关推荐
多多*19 分钟前
linux安装hbase(完)
java·分布式·算法·c#·wpf
野木香22 分钟前
tdengine笔记
开发语言·前端·javascript
new_daimond23 分钟前
设计模式-享元模式详解
java·设计模式·享元模式
千码君201624 分钟前
React Native:为什么带上version就会报错呢?
javascript·react native·react.js
IT成长日记26 分钟前
【LVS入门宝典】LVS核心原理与实战:Real Server(后端服务器)高可用配置指南
linux·运维·服务器·负载均衡·lvs
weixin_4365250727 分钟前
linux-安装RabbitMQ并启动(yum版)
linux·运维·服务器
数字冰雹1 小时前
图观端渲染场景服务器
运维·服务器·数据可视化
雪域迷影1 小时前
使用C++编写的一款射击五彩敌人的游戏
开发语言·c++·游戏
Cosolar1 小时前
Coze-JS WsChatClient 实时语音对话源码解析
前端
郝学胜-神的一滴1 小时前
享元模式(Flyweight Pattern)
开发语言·前端·c++·设计模式·软件工程·享元模式