Node.js的异步I/O通过事件循环的方式实现。其中异步I/O又分磁盘I/O和网络I/O。在磁盘I/O的调用中,当发起异步调用后,会将异步操作送进libuv提供的队列中,然后返回。当磁盘I/O执行完成之后,会形成一个事件,事件循环的过程中发现该事件后,会将其消费。消费过程就是将得到的数据和传入的回调函数执行。

网络I/O与磁盘I/O的差异在于它不需要线程池来进行处理,而是在每次时间循环的过程中通过IOCP/epoll/kqueue/event ports来获取网络I/O的 事件队列。

摘自:《技术之瞳》

相关文章:

  • 2021-04-30
  • 2021-04-26
  • 2021-05-26
  • 2019-07-05
  • 2021-08-09
  • 2021-08-09
  • 2021-08-28
猜你喜欢
  • 2021-09-11
  • 2021-07-15
  • 2022-02-05
  • 2021-07-27
  • 2021-07-12
  • 2021-06-01
  • 2021-12-04
相关资源
相似解决方案