我们真的需要多线程JavaScript吗?

Do we really need multi-threaded JavaScript?

本文关键字:JavaScript 多线程 真的 我们      更新时间:2023-09-26

我最近听说Web Workers规范为多线程JavaScript定义了API。但是在使用客户端脚本这么长时间之后(以及事件驱动的范例),我真的不认为使用多线程有什么意义。

我可以看到JavaScript引擎和浏览器渲染引擎如何从多线程中获益,但我真的没有看到将这种能力交给应用程序程序员有什么好处。

维基百科的文章实际上很好地回答了你的问题。

这个权力是给我们开发人员的,这样我们就可以专门卸载那些对用户有破坏性的任务给web工作者。浏览器不知道哪些脚本对您的自定义界面的正常工作是必要的,但是您知道。

如果你有一个脚本阻止页面呈现10秒,但不是网站运行所必需的,你可以把它卸载给一个网络工作者。这样做允许用户与页面交互,而不是强迫他们等待10秒来执行脚本。在某种程度上,它类似于AJAX,可以在界面加载后注入一些东西,从而不会延迟用户的交互。