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

时间:2014-04-04 18:39:35

标签: javascript html multithreading client-side

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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