根据长昌的答案进行更新:
root 16148 7492 16148 0 2 20:43 pts / 26 00:00:00 ./bin/node /home/aaron/workspace/test.js root 16148 7492 16149 0 2 20:43 pts / 26 00:00:00。 / bin / node /home/aaron/workspace/test.js
首先,libuv已将其删除libeio。但是它确实会像libeio您提到的那样使用线程池执行异步文件I / O。
libuv
libeio
libuv也会删除libev。它的异步网络I / O基于异步I /在不同的平台,如O接口epoll,kqueue并且IOCP,没有一个线程池。在主线程上运行一个事件循环,该循环uv轮询I / O事件并对其进行处理。
libev
epoll
kqueue
IOCP
uv
内部的线程池libuv是一个固定大小的线程池(在uinx中为4,类似于system)。它执行任务队列角色,并在请求增加时无限期地生成线程,从而避免了系统资源的耗尽。