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

时间:2012-07-26 12:15:02

标签: javascript multithreading

  

可能重复:
  JavaScript multithreading

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

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

6 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

通常只有一个UI线程,但您可以在HTML5中与WebWorkers并行运行JS。

答案 4 :(得分:0)

您可以将WebWorkers用于线程,但它无法使用dom。您也可以尝试通过setInterval

进行模拟

答案 5 :(得分:0)

人们有时使用的另一个想法是利用iframe。如果您的应用程序可以建模为iframe集(如facebook),则可以利用此功能。 Google Chrome已针对此进行了高度优化。每个帧中的Javascript在单独的执行上下文中执行,因此可以并行化。