有没有办法用JavaScript销毁HTML5 WebWorkers?

这是我的情况:我有一个Web应用程序,该应用程序生成大量的WebWorkers(介于16到32之间)以优化某些渲染过程。此过程在最初的几次中都可以正常运行,但是当脚本多次运行(不重新加载页面)时,页面就会死掉。当我尝试一次生成大量(100+)WebWorkers时,我遇到了相同的错误,因此我假设我遇到了相同的障碍。

当脚本多次运行时,在第一轮实例化的WebWorkers不再需要;我不重用任何WebWorker对象。我想销毁第一次创建的WebWorkers,以便在尝试生成新的WebWorkers时,脚本的将来执行不会停止。

我只在Chrome和Firefox中注意到此问题; Safari似乎没有此限制。

最佳答案

您应该能够从主窗口调用此命令以立即终止工作进程:

myWorker.terminate();

在此处查看完整的API:https://developer.mozilla.org/en-US/docs/DOM/Using_web_workers

或者,您可以从工作程序本身调用close(),请参见:https://developer.mozilla.org/en-US/docs/DOM/Using_web_workers

07-24 17:31