为了账号安全,请及时绑定邮箱和手机立即绑定

扫盲-对异步的理解

标签:
前端工具

对于异步的理解。

之前对于同步方法和使用async、await的异步方法一直很迷惑。

我觉得等待执行结果的异步和同步方法有什么区别吗?

他们的执行顺序都是一样的啊?

不是都需要等待执行结果吗?

今天翻了一下《C#高级编程》,才算搞清楚这里面的差异,原来使用了async、await的异步是不会阻塞线程的。

首先说说关于同步方法和异步方法的区别。

比如说web网站加载一些网络资源,是使用同步方法请求,那么此时web网站的用户界面将会阻塞,直到该方法完成对资源的网络调用,并完成结果分析。

完成这些调用所需的时间取决与网络速度,以及服务器当前的工作量。

对于用户来说,界面卡掉、一段时间的等待都是不愉快的。

所以使用异步调用。

异步可以避免阻塞,在此期间可以做更多的事情。

但是异步有一个缺陷,相对于同步来说,它对于程序的流程充满了不确定性,顺序可能会颠倒。

所以在某些场景,比如说有多个异步方法被调用,他们是有依赖关系的,后面的异步方法需要使用到之前异步方法的结果,我们需要按顺序调用这些异步方法,这个时候就需要使用async、await关键字来等待执行的结果,但是它不会阻塞线程。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消