0

可能的重复:
JavaScript 多线程

当我在浏览器中打开网页时,启动了多少个线程来渲染 DOM 并执行 Javascript 代码?

是否可以使用多线程执行 Javascript 函数?

4

6 回答 6

3

您可以webworkers在现代浏览器中使用

http://www.html5rocks.com/en/tutorials/workers/basics/

于 2012-07-26T12:20:44.757 回答
0

简短的回答是否定的,您不能在 javascript 中运行多线程代码。

更长的答案是你可以模拟它。这个关于 SO 的问题可能会有所帮助:Multithreaded JavaScript how to?

于 2012-07-26T12:18:22.097 回答
0

Javascript 代码在单个线程中运行。你不能启动单独的线程,但你仍然可以使用异步函数来实现,比如 setTimeOut 和 setInterval 。

于 2012-07-26T12:18:59.070 回答
0

一般来说,只有一个 UI 线程,但您可以在 HTML5 中将 JS 与 WebWorkers 并行运行。

于 2012-07-26T12:19:40.490 回答
0

您可以将 WebWorkers 用于线程,但它不能与 dom 一起使用。您也可以尝试通过setInterval模拟它

于 2012-07-26T12:19:46.213 回答
0

人们有时使用的另一个想法是使用 iframe。如果您的应用程序可以建模为一组 iframe(如 facebook),您可以利用它。谷歌浏览器对此进行了高度优化。每个帧中的 Javascript 在单独的执行上下文中执行,因此可以并行化。

于 2012-07-26T14:23:49.147 回答