1. 阻塞和非阻塞,同步和异步是node.js里经常遇到的词汇,举例说明:

    我要看足球比赛,但是妈妈叫我烧水,电视机在客厅,烧水要在厨房。家里有2个水壶,一个是普通的水壶,另一个是水开了会叫的那种水壶。我可以:

    1. 用普通的水壶烧,人在边上看着,水开了再去看球。(同步,阻塞)这个是常规做法,但是我看球不爽了。
    2. 用普通水壶烧,人去看球,隔几分钟去厨房看看。(同步,非阻塞)这个又大问题,万一在我离开的几分钟水开了,我就麻烦了。
    3. 用会叫的水壶,人在边上看着。(异步,阻塞)这个没有问题,但是我太傻了。
    4. 用会叫的水壶,人去看球,听见水壶叫了再去看。(异步,非阻塞)这个应该是最好的。

    等着看球的我:阻塞

    看着电视的我:非阻塞

    普通水壶:同步

    会叫的水壶:异步

    所以,异步往往配合非阻塞,才能发挥出威力。

阻塞和非阻塞1.阻塞:就像单线程cpu一样,一个任务由多个小任务组成,但是只能一个任务接一个任务流程的往想下走,谁在任务排序的前面就谁先执行,执行完了进行下一个,如果遇到错误,下面的小任务就不要做了,一直卡住。2.非阻塞:就像多线程cpu一样,一个任务由多个小任务组成,可以分开线程来做,每个线程做分配到的任务,完成了对应的任务就行,某个线程的任务没做完那就做报对应的错,其他的不受影响。
  1. 步:要做的事列了一个清单,按照清单上的顺序 一个一个执行。

    异步:就是可以同时干好几件事。

    阻塞:就是按照清单上的顺序一件一件的往下走,任意一件事没有做完,下面的事都干不了。

    非阻塞:就是有事没有作完,后面的事不会等这件事干完了再作,而是直接开始作下一件事,等这件事作完了,后面的事也作完了,这样就大大提高了效率。

白话解说:阻塞和非阻塞,同步和异步相关推荐

  1. ajax同步非阻塞,同步、异步、阻塞与非阻塞理解

    同步跟异步,阻塞与非阻塞,这两组概念出现在IO操作中常常让人混淆不清,这里是根据自己想到的,看到的,学到的,整理了自己的理解. 这四个概念两两组合,会形成四个新的概念,如下: 1.同步阻塞 :客户端发 ...

  2. 同步与异步,阻塞与非阻塞的区别

    1.概念剖析 相信很多从事linux后台开发工作的都接触过同步&异步.阻塞&非阻塞这样的概念,也相信都曾经产生过误解,比如认为同步就是阻塞.异步就是非阻塞,下面我们先剖析下这几个概念分 ...

  3. setstate是同步还是异步_【vert.x准备篇1】同步和异步,阻塞和非阻塞概念澄清

    为了能更好的理解vert.x的线程模型,我们必须要先明确几个概念:同步(Synchronous)和异步(Asynchronous),阻塞(Blocking)和非阻塞(Non-Blocking).关于这 ...

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

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 在IT圈混饭吃,不管你用什么编程语言.从事前端还是后端,阻塞.非阻塞.异步.同步这些概念,都需要清 ...

  5. 这次,让我们捋清:同步、异步、阻塞、非阻塞

    继上一篇说透I/O模型后,我们来谈谈网络 I/O 经常会伴随的几个容易令人混淆的概念:同步.异步.阻塞.非阻塞的区别. 这篇写完之后铺垫就差不多了,之后就正式开始 Netty 深度剖析了,敬请期待,嘻 ...

  6. 阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO 一锅端

    承接上文的操作系统,关于IO会涉及到阻塞.非阻塞.多路复用.同步.异步.BIO.NIO.AIO等几个知识点.知识点虽然不难但平常经常容易搞混,特此Mark下,与君共勉. 1 阻塞跟非阻塞 1.1 阻塞 ...

  7. 并发、并行、串行、同步、异步、阻塞、非阻塞

    并发.并行.串行.同步.异步.阻塞.非阻塞 实际上同步与异步是针对应用程序与内核的交互而言的. 同步过程中进程触发IO操作并等待(也就是我们说的阻塞)或者轮询的去查看IO操作(也就是我们说的非阻塞)是 ...

  8. 理解同步异步、阻塞与非阻塞

    "阻塞"与"非阻塞"与"同步"与"异步"不能简单的从字面理解,提供一个从分布式系统角度的回答. 1.同步与异步 同步和异 ...

  9. linux socket 阻塞与非阻塞,同步与异步

    在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步/异步主要针对C端:  同步:       所谓同步,就是在c端发出 ...

最新文章

  1. jQuery学习笔记--Helloworld
  2. sql数组转换为字符串
  3. C++类的使用(五)—— 多态
  4. 数平精准推荐 | OCR技术之系统篇
  5. 高德服务单元化方案和架构实践
  6. LINUX之samba服务器的安装与配置(基于redhat 6.3发行版)
  7. 《数学之美》马尔科夫链的扩展-贝叶斯网络
  8. matlab55中值滤波,基于MATLAB的中值滤波算法实现
  9. cad相对坐标快捷键_47个快捷键+50个CAD技巧助你玩转CAD
  10. ROS笔记(一)xxx.launch文件详解
  11. linux常用命令导图
  12. 6.0 深度学习图片常见转换操作
  13. 家装市场分析:2022年家装企业比例稳步上升
  14. Serv-U 15.1.2安装使用
  15. MySQL基础架构:一条SQL“查询语句”是如何执行的
  16. 用vue-cli创建项目后npm run serve 报错Component name “main“ should always be multi-word vue/multi-word-compo
  17. Apache Doris 向量化设计与实现
  18. 简单实用的PPT框架结构
  19. 如何用计算机打地鼠,《“打地鼠”游戏的程序实现》教学设计
  20. Delphi图像处理 -- 图像合成

热门文章

  1. 【HDU - 6081】度度熊的王国战略(SW算法,全局最小割)
  2. java生成world文件_HelloWorld.java文件如何创建?
  3. android标题栏消失,安卓标题栏为什么没有显示
  4. mysql 全文本检索的列_Mysql 全文本检索
  5. vue获取当前月最后一天_10月的最后一天,有哪些不想谈恋爱适合发朋友圈的文案?...
  6. 三相同步电机怎么接线图_智能电表怎么接线 单相 三相电表接线图大全
  7. 计算机选购知识点,笔记本选购知识点,找准自己的需求才是王道
  8. leetcode面试题 02.08. 环路检测
  9. python学习实例(4)
  10. ubuntu apache配置负载均衡篇(二)