nodejs中的滴答之间的休眠时间是多少

时间:2017-04-02 02:30:46

标签: node.js internal event-loop

修订问题

我想知道nodejs的事件循环(无论它是什么底层实现,可能是v8,libuv,libev)如何循环而不会耗尽CPU。如下面的代码示例所示,插入一个睡眠调用以“释放”CPU并防止while循环耗尽CPU。既然有人已经指出事实并非如此,那么我想知道nodejs(或其底层库)中出于这种目的采用了什么机制?

欢迎链接到源代码的相关部分。感谢。

原始问题

我在询问nodejs内部:我想知道nodejs事件循环中的滴答之间是否有任何休眠时间。

换句话说,我假设nodejs内部结构看起来像下面的代码,我想知道sometime的值是什么,如果有的话。

while(true) {
  for(event in queue) handleEvent(event);
  sleep(sometime);
}

我做了这样的假设,因为我认为必须存在某种睡眠,以便while循环不会耗尽CPU。

1 个答案:

答案 0 :(得分:0)

没有睡眠,因为那会阻塞。 This answer有很多与您的问题相关的Node.js内部细节。