如果客户端只有一个内核CPU,Web Worker 是否可以正常工作?

Do web workers work properly if the client only has a one core CPU?

纯粹的好奇心,我只是想知道如果 CPU 中只有一个线程可用,网络工作者是否会设法执行一个单独的线程,也许有一些虚拟化,使用 GPU ?

谢谢!

你的问题背后似乎有两个前提:第一,网络工作者使用线程;其次,多线程需要多核。但两者都不是真的。

首先:没有实际要求使用线程来实现 web worker。用户代理可以自由使用进程、线程或任何“等效结构”[参见 web worker 规范]。如果愿意,他们可以在单个线程中使用多任务处理。 Web 工作者脚本 运行 并发但不一定与浏览器并行 JavaScript。

关于第二个:多个线程很可能在单个 CPU 上 运行。它的工作方式很像单线程中的并发异步函数 JavaScript.

所以是的,回答你的问题:网络工作者在单个核心客户端上 运行 正确。您将失去一些性能优势,但代码仍会像在多核系统中那样运行。