【发布时间】:2021-07-12 10:33:49
【问题描述】:
我读过Nodejs Event Loop 和"Event Loop Explained" 和Don't Block the Event Loop
我认为 nodejs 代码(js 或 c++)中没有 for/while 永远循环,例如正如这里解释 libev 事件循环 http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#EXAMPLE_PROGRAM
int
main (void)
{
// use the default event loop unless you have special needs
struct ev_loop *loop = EV_DEFAULT;
// init
// now wait for events to arrive
ev_run (loop, 0);
// break was called, so exit
return 0;
}
那么 nodejs 事件循环如何永远运行或者可能确实存在一个 for/while 永远循环,如 https://en.wikipedia.org/wiki/Event_loop 伪代码所示?
我搜索了所有 SO 网站并找到 Is an event loop just a for/while loop with optimized polling?。那里有不同的意见,例如Bryan Oakley 的回答说是,其他人说不是。
但我的问题与那个问题有点不同。我想知道没有 for/while 循环,nodejs 事件循环如何继续运行?
【问题讨论】:
标签: node.js event-loop libuv libev