请稍等 ...
×

采纳答案成功!

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

请问老师关于 v8 以及 环境 api 的问题

我理解 v8 是 js 的解释器,相当于说给 v8 输入一串符合 js 语法的字符串,然后它就能进行解释。对于输入的那串字符串可能后边会生成语法树或者中间代码之类的,如果在语法树或者中间代码中碰到类似 setTimetout,XHLHttpRequest dom 事件等不属于 v8 原生支持的方法,就把这些东西抛给对应的 定时器线程,IO线程 等。
所以我想问下,对于 setTimeout 或者 nodejs 中的 nextTick 之类的这种不属于 v8 原生的东西,v8 是怎么知道要把对应的方法抛给对应的线程呢?或者说,浏览器这个环境或者 nodejs 这个环境,是怎么样让 v8 感知到 某个 Api 是我这个执行环境或者说宿主注入给你 v8 的,是 v8 引擎提供了什么用于拓展的接口么?

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

1回答

双越 2020-12-26 09:28:01

首先,不是线程,是进程。setTimeout 的处理既然不是 v8 的内容,那就不属于 v8 的进程范围,所以是另外的进程。

至于 v8 如何给其他进程通知,这就属于进程之间的通讯了,这才《操作系统》的一部分知识点。内容很多,而且很复杂,我们也不便于就在这里展开讲解。

你可以先去搜一下进程间通讯的基础知识。

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

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

帮助反馈 APP下载

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

公众号

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