新盛公司游戏链接【xs10159.com】

[复制链接]
zxsder20120 发表于 昨天 14:16 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
真正让这一切运转起来的,是包裹在 JS 引擎外层的宿主环境(Host Environment)。在浏览器里,这个宿主是 Blink 渲染引擎和底层的多线程架构,在 Node.js 里,则是异步事件驱动库 libuv。
事件循环,就是宿主环境派驻在 JS 引擎身边的一个“总调度师”。
浏览器作为宿主环境,在 JS 引擎之外维护着多个独立的线程:定时器线程、网络 I/O 线程、UI 渲染线程等等。当外面的底层线程把活儿干完了,总调度师就会把对应的 JS 回调代码塞进他手里的“任务队列”。
总调度师的工作极其机械死板,它持续监控着 JS 引擎的调用栈。只要 JS 引擎一跑完眼前的代码,把调用栈空出来,总调度师就会立刻走过去,翻开任务队列,抽出下一个排在首位的任务,塞到 JS 引擎的执行栈里:“歇够了没?该处理这段逻辑了,马上执行”
注意,这里说的 任务队列 并不是一个单一的队列,而是包含了不同优先级的多个队列,其中最重要的就是我们后面还会详细讲解的宏任务队列微任务队列,关于任务队列,在第一部分开头也有讲过。
task queue / microtask queue 这里为了方便理解,暂时沿用‘宏任务’和‘微任务’这两个常见说法。

精彩评论13

Cici 发表于 昨天 14:41 | 显示全部楼层
我也来顶一下。
dabofeng 发表于 昨天 16:14 | 显示全部楼层
我也来顶一下。
赛车手 发表于 昨天 16:51 | 显示全部楼层
我也来顶一下。
七夜魔君 发表于 昨天 17:59 | 显示全部楼层
支持一下!
超越改 发表于 昨天 18:05 | 显示全部楼层
我也来顶一下。
ijehauwaxei 发表于 昨天 20:14 | 显示全部楼层
我也来顶一下。
hua668 发表于 昨天 20:27 | 显示全部楼层
顶起顶起顶起!
招鹏 发表于 昨天 21:16 | 显示全部楼层
我也来顶一下。
caio 发表于 昨天 23:44 | 显示全部楼层
我也来顶一下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

帖子10

关注0

粉丝0

发布主题
学习传奇知识、讨论传奇经验
官方QQ群号

58444451

加群密码:已加入肯德基豪华午餐

反馈建议

cqsf@Gm56.Com 在线QQ咨询

扫描二维码关注我们

Powered by 五六论坛 © 2001-2024 www.gm56.com