Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript libuv和V8中的NodeJs事件循环?_Javascript_Node.js_V8_Event Loop_Libuv - Fatal编程技术网

Javascript libuv和V8中的NodeJs事件循环?

Javascript libuv和V8中的NodeJs事件循环?,javascript,node.js,v8,event-loop,libuv,Javascript,Node.js,V8,Event Loop,Libuv,NodeJs由V8引擎和libuv库组成。V8引擎有自己的事件循环,它有调用堆栈、事件队列和微任务队列,用于运行我们的代码。libuv也有事件循环,包括时间、回调、轮询、检查和关闭等阶段。所以这两个事件循环一起工作。我的理解正确吗?我没有找到任何相关的答案。有人能详细解释一下吗?简言之,正如我所知,V8没有自己的事件循环(它有一个默认实现,但它被替换或扩展)。V8唯一真正使用的是调用堆栈。事件循环与v8不同,在浏览器中单独实现。在NodeJS中,它的角色扮演libuv 另见: 相关?如果V

NodeJs由V8引擎和libuv库组成。V8引擎有自己的事件循环,它有调用堆栈、事件队列和微任务队列,用于运行我们的代码。libuv也有事件循环,包括时间、回调、轮询、检查和关闭等阶段。所以这两个事件循环一起工作。我的理解正确吗?我没有找到任何相关的答案。有人能详细解释一下吗?

简言之,正如我所知,V8没有自己的事件循环(它有一个默认实现,但它被替换或扩展)。V8唯一真正使用的是调用堆栈。事件循环与v8不同,在浏览器中单独实现。在NodeJS中,它的角色扮演libuv

另见:


相关?如果V8有一个调用堆栈,那么它也会有一个事件队列。那么它肯定会有事件循环。@KartikKumar抱歉,但是如果某个东西有一个调用堆栈,这是同步调用的正常机制,那么它不一定会有一个事件循环和事件队列,这与异步操作有关。这些东西一起工作,但它们中的任何一个都可以在不同的库中实现,并且可以断开连接。我还说过,v8有一个事件循环,但它的默认实现通常被替换或扩展。