【c#】关于异步、await 的解析

news/2025/1/12 12:16:06/

什么是异步

异步:可以理解为电路中的并行操作,即在同一时刻,可以处理多个任务的操作称之为异步,但是注意,在执行异步时,是一个主线程和多个子线程,异步的操作就是主线程安排子线程去执行。

什么场景使用异步?

1、当有UI主线程时,执行子任务,必须要在子线程上,用主线程会报错; 2、当一个方法中,对同一个或者多个数据库操作,用异步操作
3、一个方法中,有多个耗时任务用异步; 注意:一个方法中只有一个操作数据库或者一个耗时长的任务 还是不用异步;

异步的作用?

优点:合理运用异步,可以减少耗时,并且提高程序效率;
缺点:会有一定的切换线程的损耗,子线程过多导致阻塞会使得程序卡顿

await的作用?

定义:顾名思义就是等待任务的完成

什么场景用await?

使用场景:当开启了子线程 你需要对它返回的结果进行操作,且开启子线程后还执行了一些主线程的后,去await 子线程.
例如:var task=db.query<table>().tolistAsync();
for(int i=0;i<10;i++)
{
}
var result=await task();
这种写法就是同时执行了子线程和主线程,减少了损耗但是如果是  var task=await db.query<table>().tolistAsync(); 
for(int i=0;i<10;i++)
{
}
直接使用await就还是等待子线程执行完,再执行主线程操作,就没有异步的效果,等同于一个线程执行。

http://www.ppmy.cn/news/637097.html

相关文章

Unity内置渲染管线升级URP教程

简介 URP全称为Universal Render Pipeline(通用渲染管线)&#xff0c;可以提供更加灵活的渲染方案&#xff0c;通过添加Render Feature实现各种渲染效果。并且可以针对移动平台进行专门的优化&#xff0c;同时还提供了SRPBatcher提高渲染效率。Unity的一些工具&#xff0c;比如…

微信订阅号关联服务号,通过获取共同unionid,来获取用户信息(关联账号)

openid:每个用户对每个公众号的OpenID是唯一的&#xff0c;对于不同公众号&#xff0c;同一用户的OpenID不同。 unionId:同一个微信开放平台帐号下的移动应用、网站应用和公众帐号&#xff0c;用户的UinonID是唯一的。 在开发小程序公众号时&#xff0c;有时需要打通用户信息。…

python123怎么注销账号_怎么注销账号

已认真阅读完所有条例&#xff0c;并已取消关联第三方社交账号&#xff0c;请求注销注销账号。 帐号注销后&#xff0c;原帐号使用者将无法再通过知乎网、知乎移动客户端等方式登录此帐号&#xff0c;被注销帐号的个人资料将会被重置&#xff0c;注销前请自行备份帐号的头像、个…

亚马逊收款账号相同关联?

如果我有5个账号&#xff0c;收款账号要保持不被关联&#xff1f;求大神解答&#xff0c;或者是大神都是怎么操作的&#xff0c;因为去5个人不同的身份信息去操作很麻烦的&#xff0c;有什么方便的做法么&#xff1f; 这个非常简单。你只需要注册一个第三方收款账号&#xff0…

微信账号和系统账号绑定

微信开发接口文档&#xff1a;https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Authorized_Interface_Calling_UnionID.html 获取用户个人信息&#xff08;UnionID机制&#xff09; 接口说明 此接口用于获取用户个人信息。开发者可通过OpenID来获…

同一个浏览器登录不同账号_亚马逊账号安全问题,小白一直关心的防关联操作(真正解决)...

2019-11-21更新,最近已经有更成熟的技术出来了,大家可以用超级浏览器,软件名和链接我放在文末,这个超级浏览器就是一个保护伞的意思,你要登后台的时候,就用先登陆它,就会跟本地环境隔离。 找了半天没有适合开头的图片,就继续用昨天那张吧 因为这个也是经典问题,网络上…

git 切换提交账号

查看本地仓库提交代码账号和邮箱 进入仓库目录&#xff08;即带有.git文件夹的目录&#xff09; 方法一 打开git命令行&#xff08;git bash here&#xff09; &#xff0c;执行以下命令 git config user.name git config user.email方法二 进入.git文件夹&#xff0c;打开co…

oracle创建视图多表关联,Oracle创建两表关联查询的视图

在项目开发中&#xff0c;有时候会用到多表查询&#xff0c;有很多种方法&#xff0c;比如关联&#xff0c;比如视图&#xff0c;但对于查询来说&#xff0c;视图查询是最快的&#xff0c;如果你的数据库的字段信息很多&#xff0c;那查询就得整表查&#xff0c;比如两表查询&a…