标签: multithreading node.js single-threaded
我在OS X中打开了我的活动监视器,以查看Node是如何相处的,令我惊讶的是它使用了8个线程。怎么可能!!?
答案 0 :(得分:4)
Node.js是单线程的。
但是,它建立在libuv之上,它处理所有与平台相关的低级内容,包括异步IO。
现在的问题是,现在操作系统中没有用于异步IO的良好API。存在不同的API,但它们都存在问题。
因此,为了实现跨平台异步API,libuv使用线程池模拟它。这就是那些线程的来源。