美文网首页
01 基本概念

01 基本概念

作者: MickeyMcneil | 来源:发表于2018-09-21 15:03 被阅读14次

    同步 异步 阻塞 非阻塞

    同步与异步关注的是消息通信机制,阻塞与非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态

    • 同步
      发出一个功能调用时,在没有得到结果前,调用就不返回。
    • 异步
      发出一个功能调用时,调用立刻返回。异步方法会在另一个线程中执行,整个过程,不会阻碍调用者的工作,异步方法执行完毕后,通过状态、通知、回调来通知调用者。
    • 阻塞
      调用结果返回之前,当前线程会被挂起。
      阻塞和同步概念是不同的,对于同步来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回值而已。
    • 非阻塞
      不能立刻得到结果之前,函数会立刻返回,不会阻塞当前的线程。

    举例(转自网络):

    大佬喜欢喝咖啡,同时养了很多小弟。

    1. 大佬 : 客户端进程
    2. 小弟A : 阻塞处理的IO函数
    3. 小弟B : 非阻塞处理的IO函数
    4. 小弟C、小弟D: 异步处理的IO函数
    • 同步阻塞
      大佬派小弟A去看看咖啡煮好没,小弟A等咖啡煮好了才回来。
    • 同步非阻塞
      大佬派小弟B去看咖啡煮好了没,B去看了一眼就回来了,过了一会儿,B再去看看咖啡煮好了没。
    • 异步非阻塞
      大佬派小弟C、小弟D去看咖啡煮好没,C和D去厨房看了下,C回来告诉大佬,D已经在厨房了,等咖啡煮好了,D就回来告诉大佬。
    • 异步阻塞
      大佬派小弟C、小弟D去看咖啡煮好没,C和D去厨房等咖啡煮好了才回来。

    Node.js基本概念

    Node.js是一个基于Chrome V8 引擎的javaScript运行环境,使用事件驱动非阻塞式I/O模型npm(node的包管理器),是全球最大的开源生态系统。

    • 组成
      ECMAScript核心 + 全局成员(setTimeout 等) + 核心API模块(node所独有)
      没有BOM和DOM概念,这两个属于浏览器
    • 安装
    1. 官网下载node.js安装包(LTS)
    2. 傻瓜式安装,然后在 此电脑(右箭) - 属性 - 高级系统设置 - 环境变量 - 系统变量 - path 中新建粘入安装的路径即可
    3. npm是node的包管理器,npm的位置在 用户 - AppData - Roaming - npm

    相关文章

      网友评论

          本文标题:01 基本概念

          本文链接:https://www.haomeiwen.com/subject/mznanftx.html