可能的重复:
JavaScript 多线程
当我在浏览器中打开网页时,启动了多少个线程来渲染 DOM 并执行 Javascript 代码?
是否可以使用多线程执行 Javascript 函数?
您可以webworkers
在现代浏览器中使用
简短的回答是否定的,您不能在 javascript 中运行多线程代码。
更长的答案是你可以模拟它。这个关于 SO 的问题可能会有所帮助:Multithreaded JavaScript how to?
Javascript 代码在单个线程中运行。你不能启动单独的线程,但你仍然可以使用异步函数来实现,比如 setTimeOut 和 setInterval 。
一般来说,只有一个 UI 线程,但您可以在 HTML5 中将 JS 与 WebWorkers 并行运行。
您可以将 WebWorkers 用于线程,但它不能与 dom 一起使用。您也可以尝试通过setInterval模拟它
人们有时使用的另一个想法是使用 iframe。如果您的应用程序可以建模为一组 iframe(如 facebook),您可以利用它。谷歌浏览器对此进行了高度优化。每个帧中的 Javascript 在单独的执行上下文中执行,因此可以并行化。