有没有办法用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