网站首页 > 技术文章 正文
你最近去面试了吗?有没有被问到色色乏抖? 三分钟看懂同步异步阻塞非阻塞,让你面试侃侃而谈,征服美女面试官!
同步
所谓同步,就是一个任务的完成依赖另一个任务时,只有等待被依赖的任务完成后,依赖的任务才能完成,这是一种可靠的任务序列。要成功都成功,要失败都失败,两个任务的状态可以保持一致。
典型例子:打电话
异步
异步不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。至于被依赖的任务是否真正完成,依赖它的任务无法确定,所以它是不可靠的任务序列。
典型例子:发短信
阻塞
阻塞就是CPU停下来等待一个慢的操作完成后,CPU才接着完成其他工作。
非阻塞
非阻塞就是在这个慢的操作执行时,CPU去做其他工作,等这个慢的操作完成后,CPU再接着完成后续的操作。
总结:
1. 同步和异步主要是在涉及I/O处理时的方式选择。通常情况下I/O都是一个非常耗时的操作,在一个任务序列中I/O通常都是性能瓶颈,同步能保证可靠性,异步可以提升程序性能,所以要在可靠性和性能之间平衡来选择同步和异步的处理方式。
2. 阻塞和非阻塞主要是从CPU消耗上来说的。
表面上看非阻塞可以显著地提高CPU利用率,但是同时也增加了系统切换线程的负担,增加的CPU使用时间能否补偿系统的线程切换成本需要评估权衡。
组合方式及性能分析
看完以上内容,面试再被问到的话应该心里有数了吧。拿下面试官,迎娶白富美,走向人生巅峰指日可待。
猜你喜欢
- 2024-10-01 太详细了!Java语言异步非阻塞模式(原理篇)
- 2024-10-01 老张烧开水的故事-带你了解同步异步与阻塞非阻塞
- 2024-10-01 一文读懂并发与并行,同步与异步阻塞
- 2024-10-01 IO模型 阻塞 非阻塞 同步 异步概念对比区分
- 2024-10-01 精通Redis!epoll?IO的同/异步、阻塞/非阻塞?都懂了吗?
- 2024-10-01 深入理解非阻塞同步IO和非阻塞异步IO
- 2024-10-01 产品经理需要了解的那些技术2:同步、异步、阻塞、同步服务
- 2024-10-01 数据库讲坛|有关阻塞与非阻塞、同步与异步、I/O 模型-爱可生
- 2024-10-01 I/O模型 - 同步/异步/阻塞/非阻塞
- 2024-10-01 一个例子说清楚阻塞与非阻塞,同步与非同步
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)