美文网首页我爱编程
2了解Node.js事件模型

2了解Node.js事件模型

作者: zelo | 来源:发表于2017-09-20 15:49 被阅读133次

Node.js应用程序在一个单线程的事件驱动模型中运行。

比较事件回调和线程模型

在传统的线程网络模型中,请求进入一个Web服务器,并呗分配给一个可用的线程。对于该请求的处理工作继续在该线程上进行,直到请求完成并发出响应。

使用线程模式在不同的线程上处理两个请求

现在思考Node.js事件模型的工作原理,Node.js不是在各个线程为每个请求执行的工作。反之,它把工作添加到一个事件队列中,然后有一个单独的线程运行一个事件循环把这个工作提取出来。事件循环抓取事件队列最上面的条目,执行他,然后抓取下一个条目。当知行长期运行或有阻塞I/O的代码时,它不是直接调用该函数,而是吧函数随同一个要在此函数完成后执行的回调一起添加到事件队列。当Node.js事件队列中所有的事件都被知行完成时,Node.js应用程序终止

处理两个请求在一个事件驱动线程,使用Node.js事件模型

在Node.js中阻塞I/O

阻塞I/O的一些情况

  1. 读取文件
  2. 查询数据库
  3. 请求套接字
  4. 访问远程服务

在被阻塞的线程上执行的函数依然可以吧事件添加到要处理的事件队列中。


在Node.js事件模型中,工作作为一个带有回调函数呗添加到事件队列中,然后再事件循环线程中被提取出。之后在无阻塞的情况下,在事件循环线程上执行该函数;或在阻塞的情况下,在一个单独的线程上执行它.

企业级独立部署应用:知行办公http://zx.naton.cn
【总监】十二春秋之,3483099@qq.com
【Master】zelo,616701261@qq.com
【运营】运维艄公,897221533@qq.com
【产品设计】流浪猫,364994559@qq.com
【体验设计】兜兜,2435632247@qq.com
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com
【java】首席工程师MR_W,feixue300@qq.com
【测试】土镜问道,847071279@qq.com
【数据】fox009521,42151960@qq.com
【安全】保密,你懂的。

相关文章

  • 2了解Node.js事件模型

    Node.js应用程序在一个单线程的事件驱动模型中运行。 比较事件回调和线程模型 在传统的线程网络模型中,请求进入...

  • Nodejs学习第8天

    Events - events模块是Node.js的核心模块、核心API之一,它是Node.js事件驱动模型的核...

  • 关于node

    1 . Node.js 是单线程吗? 答 : Node.js 虽然是单线程模型,但是基于事件驱动、异步非阻塞模式,...

  • JavaScript--模型、闭包、链

    (1)事件模型JavaScript中有两种时间模型:DOM0,DOM2 DOM0级事件模型是早期的事件模型,所有的...

  • node.js事件循环

    关键词:Event Loop Node.js 使用事件驱动模型,当web server接收到请求,就把它关闭然后进...

  • 事件处理机制

    Node.js事件触发对象有哪些方法? 详细讲讲Node.js事件机制是怎样的? Node.js事件机制和Java...

  • 关于 JavaScript 事件循环 Event Loop 的一

    浏览器 JavaScript 执行流程以及在 Node.js 中都是基于事件循环的。 了解事件循环的工作原理对于正...

  • Spring之事件机制初始化流程

    描述 在Spring之事件机制模型中我们了解了spring事件机制的模型以及工作流程,下面通过源码分析spring...

  • 事件驱动模型

    观察者模式与事件驱动模型 观察者模式: 事件驱动模型 2.事件驱动模型 事件源 持有监听器列表,或者各种类型监听器...

  • Node.js快刀篇

    Node.js概览 - Node.js大俗话,环境的安装和开发环境布署。 Node.js基础 - 事件机制和事件环...

网友评论

    本文标题:2了解Node.js事件模型

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