为什么我的活动监视器使用multithreading显示Node.js?
我在OSX中打开了我的活动监视器,看看Node是如何相处的,令我惊讶的是它使用了8个线程。 怎么能在!!?
Node.js是单线程的。
但是,它是build立在libuv上的,它处理所有低级平台依赖的东西,包括asynchronousIO。
现在的问题是现在的操作系统中没有好的asynchronousIO的API。 存在不同的API,但它们都有其问题。
所以为了实现跨平台的asynchronousAPI,libuv使用线程池来模拟它。 这是线程来自哪里。