navigator.hardwareConcurrency

这篇翻译不完整。请帮忙从英语翻译这篇文章

Note: 此特性在 Web Worker 中可用。

navigator.hardwareConcurrency 指明当前浏览器环境所拥有的CPU核心数,这来自于操作系统提供的API来获取。

用法

CPU核心数= window.navigator.hardwareConcurrency

Value

A Number indicating the number of logical processor cores.

Modern computers have multiple physical processor cores in their CPU (two or four cores is typical), but each physical core is also usually able to run more than one thread at a time using advanced scheduling techniques. So a four-core CPU may offer eight logical processor cores, for example. The number of logical processor cores can be used to measure the number of threads which can effectively be run at once without them having to context switch.

The browser may, however, choose to report a lower number of logical cores in order to represent more accurately the number of Workers that can run at once, so don't treat this as an absolute measurement of the number of cores in the user's system.

Examples

In this example, one Worker is created for each logical processor reported by the browser and a record is created which includes a reference to the new worker as well as a Boolean value indicating whether or not we're using that worker yet; these objects are, in turn, stored into an array for later use. This creates a pool of workers we can use to process requests later.

let workerList = [];

for (let i = 0; i < window.navigator.hardwareConcurrency; i++) {
  let newWorker = {
    worker: new Worker('cpuworker.js'),
    inUse: false
  };
  workerList.push(newWorker);
}

Specification

Specification Status Comment
HTML Living Standard
NavigatorConcurrentHardware
Living Standard Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support 37Edge Full support 15Firefox Full support 48IE ? Opera Full support 24Safari ? WebView Android Full support 37Chrome Android Full support 37Edge Mobile Full support YesFirefox Android Full support 48Opera Android Full support 24Safari iOS ? Samsung Internet Android Full support Yes

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown

See also

文档标签和贡献者

此页面的贡献者: udo-china
最后编辑者: udo-china,