如果客户端只有一个核心CPU,那么Web worker是否正常工作?

问题描述 投票:0回答:1

纯粹的好奇心,我只是想知道是否有任何情况下,如果CPU中只有一个线程可用,也许有一些虚拟化,使用GPU,webworker会设法执行一个单独的线程?

谢谢!

multithreading web-worker
1个回答
1
投票

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

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

第二种:多个线程很可能在单个CPU上运行。它的工作方式与单线程JavaScript中的并发异步函数非常相似。

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

© www.soinside.com 2019 - 2024. All rights reserved.