gpt4 book ai didi

javascript - Web Worker 和 Worker Threads 有什么区别?

转载 作者:行者123 更新时间:2023-12-02 21:45:13 26 4
gpt4 key购买 nike

我还没有找到任何资源来解释 Web Worker ( https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers ) 和最近发布的 Worker Threads ( https://nodejs.org/api/worker_threads.html#worker_threads_worker_threads ) 之间的区别,Web Worker 已经存在多年并支持 PWA在 Node.js 中。

据我了解,这两种方法都只是允许 JavaScript 在多线程中运行代码的方法。那么为什么工作线程作为"new"事物被发布呢?

最佳答案

Web Workers 是一种存在于浏览器中的技术。

工作线程node.js中存在的一项技术。

他们有相似的目标,但由于环境的差异,他们有不同的实现。

To my understanding both are simply ways of allowing JavaScript to run code in multiple threads.

是的,这是正确的。具有重大限制,例如无法访问与主线程和浏览器中相同的变量,无法访问 DOM。线程和主线程之间的通信通常通过消息传递来完成。

So why are Worker Threads being released as a "new" thing?

在"new"工作线程出现之前,Node.js 无法在线程中运行 Javascript 代码。 Node.js 从来没有 Web Workers。 Web Workers 在浏览器中已经存在一段时间了。在工作线程出现之前,开发人员必须使用多个进程来涉及额外的 CPU 或防止 CPU 密集型代码阻塞事件循环。现在,node.js 开发人员可以使用工作线程来做到这一点。

关于javascript - Web Worker 和 Worker Threads 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60268604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com