浏览器脚本是否强制要求在单个线程上运行

Are browser scripts mandated to run on a single thread?

本文关键字:单个 线程 运行 脚本 是否 浏览器      更新时间:2023-09-26

如果一个HTML页面有几个script元素,每个元素都有一个src属性,浏览器是否可以在单独的线程上运行这些脚本中的每一个,或者它们会按某种顺序执行?

我知道任何已注册的事件处理程序都将在单线程事件循环上运行,但是浏览器是否"允许"同时运行脚本本身?

我的感觉是否定的,但是这样的规则甚至在哪里定义? 它会成为 HTML 规范的一部分吗? 或者省略了这种行为,让浏览器编写者可以根据需要自由地并发加载脚本?

通常执行

被锁定到一个线程,脚本将按照它们在文档中出现的顺序执行。但是,您可以使用 Web 辅助角色在后台线程中运行脚本。

更多信息可以在 W3C 规范中找到:http://www.w3.org/TR/workers/

或者在MDN上:https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers