网上闲逛技术贴,看见一个关于理解同步阻塞、同步非阻塞、异步阻塞、异步非阻塞比较风趣的故事,简单明了,很容易理解,因此记录一下,希望更多人能看见。

故事原文:

老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。
1 老张把水壶放到火上,立等水开。(同步阻塞)
老张觉得自己有点傻

2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)
老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。

3 老张把响水壶放到火上,立等水开。(异步阻塞)
老张觉得这样傻等意义不大

4 老张把响水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响了再去拿壶。(异步非阻塞)
老张觉得自己聪明了。所谓同步异步,只是对于水壶而言。

普通水壶,同步;响水壶,异步。
虽然都能干活,但响水壶可以在自己完工之后,提示老张水开了。
这是普通水壶所不能及的。同步只能让调用者去轮询自己(情况2中),造成老张效率的低下。
所谓阻塞非阻塞,仅仅对于老张而言。
立等的老张,阻塞;看电视的老张,非阻塞。
情况1和情况3中老张就是阻塞的,媳妇喊他都不知道。
虽然3中响水壶是异步的,可对于立等的老张没有太大的意义。
所以一般异步是配合非阻塞使用的,这样才能发挥异步的效用。——来源网络,作者不明。

如何理解同步阻塞、同步非阻塞、异步阻塞、异步非阻塞相关推荐

  1. 深入理解非阻塞同步IO和非阻塞异步IO

    这两篇文章分析了Linux下的5种IO模型 http://blog.csdn.net/historyasamirror/article/details/5778378 http://blog.csdn ...

  2. 简单理解什么是同步阻塞/同步非阻塞,异步阻塞/异步非阻塞

    简单理解什么是同步阻塞/同步非阻塞,异步阻塞/异步非阻塞 声明:本篇思想非原创,系从老师处听来.因为CSDN发转载需要有原文链接,本篇没有原文链接,所以填的原创. 举个栗子 1.你在家做饭,用普通的汤 ...

  3. 确定不来了解一下什么是 BIO NIO AIO 阻塞 非阻塞 同步 异步?

    本文内容涉及同步与异步, 阻塞与非阻塞, BIO.NIO.AIO等概念, 这块内容本身比较复杂, 很难用三言两语说明白. 而书上的定义更不容易理解是什么意思. 下面跟着我一起解开它们神秘的面纱. BI ...

  4. recvfrom函数 非阻塞_那些年让你迷惑的阻塞、非阻塞、异步、同步

    那些年让你迷惑的阻塞.非阻塞.异步.同步 在IT圈混饭吃,不管你用什么编程语言.从事前端还是后端,阻塞.非阻塞.异步.同步这些概念,都需要清晰地掌握,否则,怎么与面试官谈笑风生(chui niu pi ...

  5. Python|线程和进程|阻塞|非阻塞|同步|异步|生成器和协程|资源竞争|进程间通信|aiohttp库|daemon属性值详解|语言基础50课:学习(11)

    文章目录 系列目录 原项目地址 第34课:Python中的并发编程-1 线程和进程 多线程编程 使用 Thread 类创建线程对象 继承 Thread 类自定义线程 使用线程池 守护线程 资源竞争 G ...

  6. 同步I/O、异步I/O、阻塞I/0、非阻塞I/O、五种I/O模型、高性能网络模型

    10.I/O相关概念 https://www.cnblogs.com/xiaoxi/p/6525396.html 10.1.同步和异步 ​ 同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须 ...

  7. 异步就是异步,根本就没有 异步非阻塞IO这个说法。阻塞 非阻塞,同步I/O 异步I/O 的区别

    先给大家安利一下这个 https://www.ibm.com/developerworks/cn/linux/l-async/ 里面关于 异步非阻塞IO 是错的. 异步就是异步,别扯 异步阻塞 异步非 ...

  8. 同步阻塞 同步非阻塞 异步阻塞 异步非阻塞

    今天老师讲了同步阻塞 同步非阻塞 异步阻塞 异步非阻塞.讲完感觉老师自己说的都是前后矛盾的.去网上找了几篇大佬的博客,看完后才有点点感悟.特地小结记下来,若有错误之处,欢迎大家斧正. 首先先弄清楚同步 ...

  9. java如何阻塞和同步_同步与异步,阻塞与非阻塞

    今天早上关注了这个问题,刚抽出时间大概整理下,以下仅是个人理解: 一定要多看几遍代码并结合文字理解下 引0.从I/O说起 这些概念之所以容易令人迷惑,在于很多人对I/O就没有清晰准确的理解,后面的理解 ...

  10. 阻塞/非阻塞/同步/异步方法和多线程的关系?没有任何关系,俩不挨着

    1.阻塞非阻塞异步同步是针对方法说的,是评判一个方法运行状态的.和多线程完全两个级别. 2.阻塞非阻塞异步同步是针对方法说的,是评判一个方法运行状态的.和多线程完全两个级别. 3.阻塞非阻塞异步同步是 ...

最新文章

  1. Go语言开发常见陷阱,你遇到过几个?
  2. 两种超级智能,哪一个对人类未来影响更为深远?
  3. C#读写xml文件最简单方法(操作配置文件)
  4. 使用page-slot显示SAP Spartacus section里包含的Component和layout设计
  5. 『数据库』这篇数据库的文章真没人看--数据库完整性
  6. 鸿蒙系统暗黑2,暗黑破坏神2为什么被称为神作!看看装备强化系统就知道有多完美...
  7. httpservletrequest 设置请求头_请求和常用对象
  8. 字节跳动被爆商业化部门大量裁员
  9. Ubuntu查看文件夹下文件的个数
  10. Golang的并发模式
  11. 破解“还原卡”技术方法
  12. 密码编码学初探——数论和有限域
  13. 000-EMC 深入解读-目录
  14. 2022年最新前端零基础学习路径
  15. 细谈数据库表锁和行锁
  16. OSPF主流LSA及域内域间Vlink虚链路配置
  17. 7-2 愿天下有情人都是失散多年的兄妹 (25 分)
  18. 【大数据开发必看】可视化BI神器---FineBI
  19. 使用隐马尔科夫模型实现分词
  20. 一次Wi-Fi入侵实录

热门文章

  1. 直播带货制造爆款的6点核心玩法
  2. JQ+vue实现图片拼接(无限套娃版)
  3. 超级电脑系统安装 无光驱 USB启动
  4. php去掉excel看不见的空格,如何批量去除Excel中无法看不见的空格?
  5. 云服务器到手必做的安全配置-windows篇
  6. Js模块化规范(commonJs、Es6模块化)
  7. 小米发布最低价5G手机,但性价比不敌realme
  8. 史上最大!亚马逊中国“真黑五”全球狂欢劲爆来袭
  9. 两电平apf和三电平apf的区别
  10. 阿里音乐流行趋势预测大赛一起做-(1)介绍