五六论坛
标题: 新盛公司游戏开户链接 xs10159.com [打印本页]
作者: zxsder20120 时间: 昨天 13:56
标题: 新盛公司游戏开户链接 xs10159.com
新盛公司游戏APP下载链接【xs10159.com】 新盛公司游戏客服【飞机 @xg88011】 真正让这一切运转起来的,是包裹在 JS 引擎外层的宿主环境(Host Environment)。在浏览器里,这个宿主是 Blink 渲染引擎和底层的多线程架构,在 Node.js 里,则是异步事件驱动库 libuv。而事件循环,就是宿主环境派驻在 JS 引擎身边的一个“总调度师”。
浏览器作为宿主环境,在 JS 引擎之外维护着多个独立的线程:定时器线程、网络 I/O 线程、UI 渲染线程等等。当外面的底层线程把活儿干完了,总调度师就会把对应的 JS 回调代码塞进他手里的“任务队列”。
总调度师的工作极其机械死板,它持续监控着 JS 引擎的调用栈。只要 JS 引擎一跑完眼前的代码,把调用栈空出来,总调度师就会立刻走过去,翻开任务队列,抽出下一个排在首位的任务,塞到 JS 引擎的执行栈里:“歇够了没?该处理这段逻辑了,马上执行”
注意,这里说的 任务队列 并不是一个单一的队列,而是包含了不同优先级的多个队列,其中最重要的就是我们后面还会详细讲解的宏任务队列和微任务队列,关于任务队列,在第一部分开头也有讲过。
task queue / microtask queue 这里为了方便理解,暂时沿用‘宏任务’和‘微任务’这两个常见说法。
作者: shirley 时间: 昨天 15:12
支持一下!
作者: etelotagumor 时间: 昨天 16:02
我也来顶一下。
作者: 培记 时间: 昨天 16:45
支持一下!
作者: boynow 时间: 昨天 18:17
支持一下!
作者: Salooloo 时间: 昨天 22:12
顶起顶起顶起!
作者: hansonlc 时间: 3 小时前
顶起顶起顶起!
作者: 雯雯 时间: 3 小时前
支持一下!
作者: wahfen 时间: 2 小时前
顶起顶起顶起!
作者: Roman 时间: 半小时前
顶起顶起顶起!
| 欢迎光临 五六论坛 (https://www.gm56.com/) |
Powered by Discuz! X3.5 |