为什么我的活动监视器使用multithreading显示Node.js?

我在OSX中打开了我的活动监视器,看看Node是如何相处的,令我惊讶的是它使用了8个线程。 怎么能在!!?

有8个线程的节点

Node.js是单线程的。

但是,它是build立在libuv上的,它处理所有低级平台依赖的东西,包括asynchronousIO。

现在的问题是现在的操作系统中没有好的asynchronousIO的API。 存在不同的API,但它们都有其问题。

所以为了实现跨平台的asynchronousAPI,libuv使用线程池来模拟它。 这是线程来自哪里。