当前位置:网站首页>一分钟了解同步、异步、阻塞和非阻塞的区别
一分钟了解同步、异步、阻塞和非阻塞的区别
2022-06-26 00:15:00 【慕容田雨】
今天跟旭哥聊到的并发的机制,深入了解到了同步异步阻塞非阻塞的区别,自己总结一下,加强理解,废话不多说,就是干。
提出问题
同步和异步的区别是什么?
阻塞和非阻塞的区别是什么?
你可以尝试在脑子里想一下这个问题,先有自己的答案,然后再往下看
。
。
。
。
。
。
来看一下答案
同步和异步的关注点的是值的返回方式,
同步是服务方处理完后再响应用户。
而异步是服务方当前就先返回一个收到请求的值,然后真正处理完再返回结果,或者调用方再请求拉取结果。
阻塞和非阻塞的关注点是调用方的状态
阻塞是在服务方处理时,调用方的状态是什么都不干。
而非阻塞是在服务方处理时,调用方去干自己的事情,不在这干等着,调用方自己去查询结果,或者有结果时服务方通知调用方。
优缺点
阻塞
优点:能及时返回数据,没有延迟。
缺点,需要付出等待的时间代价。
非阻塞
优点:与阻塞比较,非阻塞不需要等待任务结果, 可以去执行其他任务,所以对并发的支持比较好。
缺点:不能及时的获取返回结果。因为每隔一段时间才回去询问,但是可能在两次询问动作的时间间隔内任务就可能完成了,这回导致整体数据的吞吐量的降低。
组合后的场景
我们来通过例子看下组合后的场景
同步阻塞
就是小明去无名缘吃米线,点了一个肉沫米线,服务员说大概半个小时可以做好,你得等一会。然后小明什么都不干就在这等着,等做好了再去干找座位。
BIO就是同步阻塞模式,我们的写的大部分方法都是同步阻塞的。
同步非阻塞
还是这个例子,
就是在师傅在坐米线同时,小明也没闲着,他去了个座位,他刷了会手机,但是每过10分钟,他都去看一下饭做好了没。
NIO就是同步非阻塞模式,
异步非阻塞
继续
小明点完米线,服务员给了小明一个号,说米线好了我喊你,然后小明就去找座位记单词了。
AIO是异步非阻塞模式,Callable和一些带有回调方法的都是异步非阻塞模式。
异步阻塞
这种方式很傻,一般没人会去用
边栏推荐
猜你喜欢

Explication du script correspondant à l'assertion Postman

GUN make (2) 总述

前置++,后置++与前置--与后置--(++a,a++与--a,a--)

Show spirit chenzitong was invited to be the chief experience officer of the global finals of the sixth season perfect children's model

Postman断言对应脚本的解释

readv & writev

Talking about interface test (I)

Sweet cool girl jinshuyi was invited to be the spokesperson for the global finals of the sixth season perfect children's model

Abnova丨CMV CISH 探头解决方案

Cross validation -- a story that cannot be explained clearly
随机推荐
胶原蛋白酶丨Worthington中英文说明书
Fasttext knowledge points summary
Textcnn paper Interpretation -- revolutionary neural networks for sense classification
浅谈接口测试(一)
JQ user defined attribute value
On the difference between strlen and sizeof
Pointnet/Pointnet++学习
Sweet cool girl jinshuyi was invited to be the spokesperson for the global finals of the sixth season perfect children's model
pixel 6 root
JQ 自定义属性取值
GNN (graph neural network) introduction vernacular
热血男孩滕文泽 受邀担任第六季完美童模全球总决赛形象大使
UN make (6) makefile的条件执行
Energetic girl wangyujie was invited to be the spokesperson for the global finals of the sixth season perfect children's model
Interpretation of script corresponding to postman assertion
Postman断言对应脚本的解释
LeetCode 41 ~ 50
GUN make (5) makefile中的变量
俏皮少女王艺璇 受邀担任第六季完美童模全球总决赛推广大使
元素定位的八大法则