大二时看《Thinking in java》里NIO时这几个概念就很含混,现在大四快毕业了,看《tomcat权威指南》时又得遇到这些概念,这次决定弄懂它。

如果直接从网上扒它们的定义,那我写这个博客就啥意义都没有了,还不如写一堆链接呢!而且用专门的定义解释对于很多人而言就是用术语解释术语,那他们就得继续谷歌不懂的名词了。所以我觉得还是用孟子的思想:用鱼和熊掌比喻一下生和义吧

打个比方,我在网上买了个东西,然后就等东西送到邮局去取了。就有这4种情况:

  1. 你立刻傻站在邮局门口等东西来

  2. 你继续做你要做的事,不会因为会有包裹影响正常生活该做的

  3. 东西邮到给你发短信

  4. 东西邮到没人吭声通知你

  1. 就是阻塞啦(因为会有包裹,你就专门等包裹来,包裹不到你就在邮局门口罢工!绝食!),

  2. 就是非阻塞啦(不会因为有包裹你就影响你正常生活和该做的工作)

  3. 就是异步啦(人家很敬业的通知你)

  4. 就是同步啦(暴走大世界里黑ems邮件堆成山却不通知人取就是这种情况啦)

然后排列组合,又有了这四种情况:

1.同步阻塞:包裹来了不通知你,你就傻站在邮局门口等包裹来了

2.同步非阻塞(轮询):你该干啥干啥,虽然人家不通知你,但你时不时的跑去邮局问问我包裹到了没.至于你是每天中午问呢还是每隔一小时就跑去问一次,那就看你有多能墨迹了

3.异步阻塞:虽然伦家会短信通知你,但你偏要在邮局门口傻站着等包裹到.有时间,就是这么任性!但我估计程序猿应该没谁会写出这么任性的代码吧?

4.异步非阻塞(回调):其实第一次听说要在邮局外面等邮件我是拒绝的,因为,你不能让我搁下所有工作,我就马上去邮局外面等邮件……等了一阵时间,手机,DUANG~~DUANG~~DUANG~~我的邮件到邮局里了

总之,异步都是用在非阻塞上,因为我还没见过谁写异步阻塞的程序,如果你狠任性,那就试着写个异步阻塞的程序感受一下吧!

其实我闲扯淡就是为了加深对这些术语概念的理解,可能解释的有漏洞,还望诸大神指正

转载于:https://my.oschina.net/tdONEmadao/blog/396288

用一个比喻来解释对 同步 异步 阻塞 非阻塞 轮询 回调 的理解相关推荐

  1. 15分钟读懂进程线程、同步异步、阻塞非阻塞、并发并行,太实用了!

    作者:Martin cnblogs.com/mhq-martin/p/9035640.html 基本概念 1 进程和线程 进程(Process): 是Windows系统中的一个基本概念,它包含着一个运 ...

  2. 15分钟读懂进程线程、同步异步、阻塞非阻塞、并发并行

    基本概念 1 进程和线程 进程(Process): 是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程 ...

  3. 面试必会系列 - 5.1 网络BIO、NIO、epoll,同步/异步模型、阻塞/非阻塞模型,你能分清吗?

    本文已收录至 Github(MD-Notes),若博客中图片模糊或打不开,可以来我的 Github 仓库,包含了完整图文:https://github.com/HanquanHq/MD-Notes,涵 ...

  4. 同步/异步与阻塞/非阻塞的区别

    这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方. 首先来解释同步和 异步的概念,这两个概念与消息的通知机制有关. 举个 例子,比如我去银行办理业务,可能选择排队等候,也 ...

  5. java 异步阻塞_大白话搞懂什么是同步/异步/阻塞/非阻塞

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前言 在最近的一些面试中,跟应聘者聊了比较多关于"同步/异步,阻塞/非阻塞"相关的话题,发现大家对于这些概念的理解都比较模糊,甚至有的 ...

  6. 同步异步 阻塞非阻塞

    首先知道同步异步与阻塞非阻塞不是一个层次的概念 "阻塞"与"非阻塞"与"同步"与"异步"不能简单的从字面理解,提供一个从 ...

  7. 什么是同步异步?阻塞非阻塞?

    什么是同步异步?什么是阻塞非阻塞? https://mp.weixin.qq.com/s/3c-NfdRZYu60VmMpR4vvTg 自从发布<你管这破玩意叫 IO 多路复用>之后,我发 ...

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

    1.同步与异步 被调用者角度 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication) 所谓同步,就是在发出一个调 ...

  9. python进阶04IO的同步异步,阻塞非阻塞

    原创博客地址:python进阶04IO的同步异步,阻塞非阻塞 同步和异步 同步和异步关注的是消息通信机制. 所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回.但是一旦调用返回,就得到 ...

最新文章

  1. 智源重大研究方向“智能体系架构与芯片”发布会(活动报名)
  2. QString和string互相转换乱码处理
  3. 场景感知:CNN方法对三维重建/slam/实时定位的一些Base改进
  4. Bootstrap3 模态对话框的调用方式
  5. 【NOIP2013模拟】七夕祭
  6. Java程序员春招三面蚂蚁金服,1-7中HashMap死循环分析
  7. 第十三章——表和索引分区(2)——使用拆分删除和加载大数据
  8. centos7部署gitlab遇到的坑
  9. LeetCode:Path Sum
  10. 习题9.38 查找字符串中的数字、字母
  11. 挑战程序设计竞赛(第一章)
  12. 免费的html模板开源网站
  13. win7升级win10正式版_最新win7如何升级win10操作教程,你还在用win7吗?
  14. el-input 正则,非负数且只有一个小数点
  15. ce修改面板属性_用CE脚本进行FGO一键修改局内属性
  16. DAMO-YOLO第三方数据训练教程
  17. w10投影全屏设置_win10如何让投影仪铺满全屏
  18. 从刘福泉炮轰“社科院的调查太雷人”谈:一辈子租房又何妨
  19. 摄像头在线测试_Leez学院| 面部检测 精准可靠 Leez P515 OpenCV工程测试
  20. 微信小程序 基础 - 05 (wxml语法:动态数据绑定)

热门文章

  1. 如何使用二维码扫描模组改造通道闸机,实现手机开闸
  2. 双回路隔离输出DC/DC高压电源模块
  3. VC++ RLE压缩算法(附源码)
  4. UNIX应急响应攻略(转)
  5. 教你用PixiJs实现复杂动画
  6. 解决WPS文档打开显示空白该怎么解决
  7. 如何给dcoker容器里的alpine系统安装中文字体
  8. AI相机,请把我拍成“Angelababy ”!
  9. 投票找精英投票网是怎么回事?
  10. R语言安装TSA包(windows) 2020年5月