美文网首页
深入浅出node-异步IO

深入浅出node-异步IO

作者: strong9527 | 来源:发表于2018-09-25 17:23 被阅读19次

node在多线程和单线程之间的选择: 利用单线程,原理多线程的死锁、状态同步等问题;利用异步IO,让线程原理阻塞,以更好的利用cpu

文件描述符:

操作系统对计算机进行了抽象,将所有输入和输出设备抽象为文件。内核在进行文件I/0操作时,通过文件描述符进行管理,而文件描述符类似于应用程序与系统内核之间的凭证。应用程序如果需要进行IO调用,需要先打开文件描述符,然后再根据文件描述符去实现文件的数据读写。

node自身的执行模型——事件循环,正是它使得回调函数十分普遍。

在进程启动时,node便会创建一个类似于while的循环,每执行一次循环体的过程我们成为tick。

小结:

从前面实现异步IO的过程中,我们可以提取出异步IO的几个关键词:单线程、事件循环观察者和IO线程池。这里单线程和IO线程池之间看起来有点悖论的样子。由于我们知道javascript是单线程的,所以按常识很容易理解为它不能充分利用多核cpu。事实上,在node中,除了javascript是单线程外,node自身其实是多线程的,只是IO线城市用的cpu线程较少。另一个需要重视的观点则是,除了用户代码无法并行执行外,所有的IO(磁盘和网络IO)则是可以并行起来的。

相关文章

  • 深入浅出node-异步IO

    node在多线程和单线程之间的选择: 利用单线程,原理多线程的死锁、状态同步等问题;利用异步IO,让线程原理阻塞,...

  • Java IO快速入门

    网络IO实现方式分为BIO(阻塞IO)、线程池伪异步IO、NIO(非阻塞IO)、AIO(异步非阻塞IO); 异步、...

  • 前端进阶全栈-Node的异步IO

    本文力图详尽解释node的异步IO: 异步IO的产生背景 Node中的异步IO具体的实现 非I/O的异步API 一...

  • Reactor 与Proactor

    按照posix标准,系统io分为同步io和异步io两种,其中同步io常用的是bio nio。异步io有aio。 从...

  • NodeJS基础原理

    NodeJS基础原理 异步IO原理浅析及优化方案 异步IO的好处(输入输出input output) 前端通过异步...

  • IO模型

    原文参考链接 四种状态 同步 异步 阻塞 非阻塞 IO分类 同步阻塞IO 同步非阻塞IO 异步非阻塞IO注意: 没...

  • 异步IO

    摘自廖雪峰教程 在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘、网络等IO。在一个线程中,CPU执行代码...

  • 异步IO

    为什么要异步IO node的事件循环 在进程启动时,node会创建一个类似于while的循环,每执行一次循环体就是...

  • 阻塞非阻塞 同步异步 IO模型及其应用 NIO实现原理

    1.同步异步概念 2.阻塞非阻塞概念 3.常见I/O模型:同步阻塞IO,同步非阻塞IO,异步阻塞IO,异步非阻塞I...

  • nodejs深入学(5)异步编程

    前言 上一章讲解了node如何通过事件循环实现异步,包括与各种IO多路复用搭配实现的异步IO已经与IO无关的异步A...

网友评论

      本文标题:深入浅出node-异步IO

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