0
15
38
42
请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请教老师关于 event loop 的问题

请问下老师, event loop 的代码运行在哪里呢?
我理解渲染进程里头有好多线程,比如 解析 js 的线程,处理 IO 的线程,处理定时器的线程,用 GPU 渲染页面的线程等,我觉得是否应该还有条线程用来运行 event loop 的代码,然后这条线程会不停地循环 js 解析线程的栈区,发现一旦 js 解析线程中的栈是空了就说明同步代码执行完,这个时候这条跑 eventloop 的线程就会去事件队列里头拿出“从别的线程发送过来的回调任务”出来执行?我不知道我这个理解是否是对的,所以请教老师一下。

正在回答 回答被采纳积分+3

插入代码

1回答

双越 2020-12-26 09:30:51

首先,event loop 只是一个异步原理的称呼,它不是一段代码,或者一个函数,它是一个解决方案和实现方式的叫法。它的代码,一部分运行在 v8 js 引擎,一部分运行在浏览器内核。

如果你想要了解其中的执行原理,可以尝试去搜一下 libuv 的源码解读,不过是 C++ 的。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号