为什么节点闲置时有两个线程?

时间:2013-07-02 09:20:23

标签: multithreading node.js

function test_sleep() {
    var sleep = require('sleep');
    sleep.sleep(5);
}

test_sleep();

我使用pstree显示节点

的线程
 │                ├─bash─┬─node───2*[{node}]
 │                │      └─pstree

我的节点版本是v0.11.3

我在v0.6.3中尝试了这个代码,并且只有一个线程。 那么这两个版本之间的区别是什么?

1 个答案:

答案 0 :(得分:0)

  

Node.js(或更确切地说是libuv)维护一小部分工作线程。   旋转和拆卸线程相当昂贵,这就是他们留在原地的原因。   

    - Ben Noordhuis

这些线程用于在不阻塞主事件循环的情况下进行I / O操作。 请参阅Basics of libuv