美文网首页
NodeJS 深入浅出读后感(3)

NodeJS 深入浅出读后感(3)

作者: hyhchaos | 来源:发表于2016-11-14 14:52 被阅读12次

第三章 异步I/O

为什么要异步I/O

  • 为了不影响用户体验
  • 为了应对分布式处理

资源分配

处理一组不相关的任务有两种方式:单线程,多线程,但是他们都有一些问题。
Node采用单线程,远离多线程死锁,状态同步等问题;利用异步I/O,让单线程远离阻塞

Node 异步I/O

Node的执行模型是一个事件循环,每执行一次循环称为一次Tick

异步I/O的过程是先请求对象,送入I/O线程池,然后执行回调

非I/O的异步API

  • 定时器 setTimeout 和 setInterval


  • process.nextTick()
    顾名思义,在下一个Tick的时候执行
    相比定时器采用红黑树(操作时间复杂度O(lg(n))),nextTick()时间复杂度为O(1),更高效

  • setImmediate()
    与nextTick()十分类似,但是比nextTick()慢一点

事件驱动会使服务器十分高效

相关文章

  • NodeJS 深入浅出读后感(3)

    第三章 异步I/O 为什么要异步I/O 为了不影响用户体验 为了应对分布式处理 资源分配 处理一组不相关的任务有...

  • 2018 第一本书

    阿啦嘞:《深入浅出nodejs》《JS promise迷你书》 不折腾:[ √ ] 《王小波系列》 llp:《皮...

  • 闲聊c/c++ 4: 征服优雅、高效的Libuv库之初识篇

    这一系列文章主要分析nodejs中的核心库Libuv。 我的参考书: 朴灵的深入浅出nodejs Jeffrey ...

  • NodeJS 深入浅出读后感(1)

    第一章 NodeJS使用JavaScript作为开发语言,主要是js语言符合事件驱动,没有历史包袱以及V8引擎的高...

  • NodeJS 深入浅出读后感(2)

    第二章 模块 CommonJS模块规范 模块引用 模块定义,用exports对象导出2当前模块的方法或者变量 模块...

  • NodeJS深入浅出读后感(4)

    异步编程 高阶函数可以接受一个方法作为参数参与运算。 偏函数,通过指定部分参数来产生一个新的定制函数的形式 异步编...

  • 浅谈node.js模块引入机制

    原文链接 之前笔者对nodejs中的模块是如何引入的也是一头雾水,读了一本《深入浅出nodejs》,加上自己工作时...

  • 常用链接

    html内容转换jade模版 用户脚本(浏览器插件) Tampermonkey 深入浅出Nodejs读书笔记 s...

  • 近期学习规划

    读完nodejs深入浅出 读完图解HTTP 了解 CommonJS,AMD 规范 学习函数式编程,这个时候可以不局...

  • 深入浅出nodejs

    1.node特点 高性能web服务器的要点:事件驱动、非阻塞I/O 单线程单线程的优点在于:不用在意状态同步问题没...

网友评论

      本文标题:NodeJS 深入浅出读后感(3)

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