如何在 Javascript 中使用多个线程



我想知道如何在JS中启动,连接和分离线程。

我看到了有关 Service Worker 的信息,这些信息旨在作为单独的进程在后台运行,而不是我正在寻找的。还有别的吗?如何使用它?

您可能不想要服务工作者,而是 Web 工作者(spec |MDN 文章(在 Node.js 上的浏览器或工作线程上。

主窗口中的JavaScript在单个线程上运行,它可以运行异步函数,这些函数将在同一线程中变为进度。看:

  • JS并发模型:https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop
  • JS异步功能:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

这两个 API 将允许您运行不同的线程:

Web Workerhttps://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API(运行和死亡类型的脚本线程执行(示例:

var myWorker = new Worker('worker.js');
myWorker.postMessage('Message posted to worker');

服务工作进程https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API(在网络和应用程序之间的后台运行(

最新更新