博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对于异步的理解
阅读量:6861 次
发布时间:2019-06-26

本文共 528 字,大约阅读时间需要 1 分钟。

之前对于同步方法和使用async、await的异步方法一直很迷惑。我觉得等待执行结果的异步和同步方法有什么区别吗?他们的执行顺序都是一样的啊?

不是都需要等待执行结果吗?今天翻了一下《C#高级编程》,才算搞清楚这里面的差异,原来使用了async、await的异步是不会阻塞线程的。

首先说说关于同步方法和异步方法的区别。比如说web网站加载一些网络资源,是使用同步方法请求,那么此时web网站的用户界面将会阻塞,

直到该方法完成对资源的网络调用,并完成结果分析。完成这些调用所需的时间取决与网络速度,以及服务器当前的工作量。对于用户来说,界面卡掉、一段时间的等待都是不愉快的。

所以使用异步调用。异步可以避免阻塞,在此期间可以做更多的事情。但是异步有一个缺陷,相对于同步来说,它对于程序的流程充满了不确定性,顺序可能会颠倒。

所以在某些场景,比如说有多个异步方法被调用,他们是有依赖关系的,后面的异步方法需要使用到之前异步方法的结果,我们需要按顺序调用这些异步方法,

这个时候就需要使用async、await关键字来等待执行的结果,但是它不会阻塞线程。

转载于:https://www.cnblogs.com/lifuquan/p/7552944.html

你可能感兴趣的文章
jq插件
查看>>
从零开始学习Sencha Touch MVC应用之十八
查看>>
博客园是不是应该取消反对按钮或者改进反对按钮
查看>>
重写equals()方法时,需要同时重写hashCode()方法
查看>>
Excel打印质量引起的异常及解决方案
查看>>
2.GET与POST的区别
查看>>
tyvj1172自然数拆分
查看>>
Makefile <网络转载>
查看>>
IO流的应用————小型资源管理器
查看>>
C++输入输出流格式控制(转)
查看>>
【C++】C++中的string类的用法总结
查看>>
new pc
查看>>
zabbix之 zabbix server 跟 agent 更换ip地址
查看>>
WebAPI 实现前后端分离的示例
查看>>
自控力极差的人如何自救?
查看>>
java中高级面试题整理及参考答案
查看>>
冯·若依曼体系结构
查看>>
B00009 C语言分割字符串库函数strtok
查看>>
windows查看端口占用命令[转]
查看>>
基于 canvas 将图片转化成字符画
查看>>