javascript - Web Workers 可以 100% 地利用多核 CPU 吗?

标签 javascript multithreading html web-worker

我一直在尝试找出网络 worker 在分配处理器负载方面的能力。我还没有找到任何似乎能够让我的四核 2600k 达到 50% 的演示,更不用说 100% 了。

这是我尝试最大化 CPU 的 Web Worker 演示:

http://nerget.com/rayjs-mt/rayjs.html

(如果您使用 firebug/chrome-inspect-element 进入页面的 HTML 并使 Canvas 更大,您可以使其光线追踪更大的图像 - 我将我的设置为 1920 x 1080)

即使选择了 4、8、16 个工作器,我的 CPU 利用率也不可能超过每个内核 25% 左右。

有谁知道是否可以通过 web worker 100% 地利用 CPU?

(我使用的是谷歌浏览器。)

最佳答案

这在我的 2500K 上使用了 100%:

var code = "while(true){}";
var URL = window.webkitURL || window.URL;
var bb = new Blob([code], {type : 'text/javascript'});

code = URL.createObjectURL(bb);

new Worker(code);
new Worker(code);
new Worker(code);
new Worker(code);

http://jsfiddle.net/MTJ27/81/

关于javascript - Web Workers 可以 100% 地利用多核 CPU 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871452/

相关文章:

javascript - jQuery 实时更改复选框 IE8

Java ExecutorService 关闭现在需要很长时间

c++ - Qt 线程计算输出到 GUI 中的自己的小部件?

html - 与内容背景颜色相同的工具提示箭头

Javascript 从 REST 循环遍历 XML

java - 在三个不同线程中同步三个步骤?

javascript - 使用 JavaScript 操作多个(可预测的)命名 DIV

javascript - jQuery mouseenter 函数 - 如果颜色还没有改变颜色

JavaScript Html 按钮

Javascript 如何将时区转换为实际时区缩写?