Navigator: hardwareConcurrency 属性
navigator.hardwareConcurrency 只读属性返回用户计算机上可用于运行线程的逻辑处理器数量。
值
一个介于 1 和用户代理可能提供的逻辑处理器数量之间的数字。
现代计算机的 CPU 通常有多个物理处理器核心(通常是两个或四个核心),但每个物理核心通常也能通过高级调度技术一次运行多个线程。因此,例如,一个四核 CPU 可能提供八个逻辑处理器核心。逻辑处理器核心的数量可以用来衡量一次可以有效运行的线程数量,而无需进行上下文切换。
然而,浏览器可能选择报告较少的逻辑核心数量,以更准确地表示一次可以运行的 Worker 的数量,因此不要将其视为用户系统核心数量的绝对度量。
示例
在此示例中,会为浏览器报告的每个逻辑处理器创建一个 Worker,并创建一个记录,其中包含对新 Worker 的引用以及一个布尔值,指示我们是否已使用该 Worker;这些对象又存储在一个数组中以供将来使用。这创建了一个 Worker 池,我们可以在以后使用它来处理请求。
js
let workerList = [];
for (let i = 0; i < window.navigator.hardwareConcurrency; i++) {
let newWorker = {
worker: new Worker("cpu-worker.js"),
inUse: false,
};
workerList.push(newWorker);
}
规范
| 规范 |
|---|
| HTML # dom-navigator-hardwareconcurrency-dev |
浏览器兼容性
加载中…