美文网首页
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)

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