navigator.hardwareConcurrency

This translation is incomplete. Please help translate this article from English

Nota: Esta característica está disponible en Web Workers.

La propiedad navigator.hardwareConcurrency  es de solo lectura navigator.hardwareConcurrency devuelve el número de procesadores lógicos disponibles para ejecutar subprocesos en la computadora del usuario.

Sintaxi

logicalProcessors = window.navigator.hardwareConcurrency

Valor

Number indica el número de núcleos de procesadores lógicos.

Las computadoras modernas tienen múltiples núcleos de procesadores físicos en su CPU (dos o cuatro núcleos son típicos), pero cada núcleo físico también puede ejecutar más de un subproceso a la vez utilizando técnicas avanzadas de programación. Por lo tanto, una CPU de cuatro núcleos puede ofrecer ocho núcleos de procesador lógico, por ejemplo. El número de núcleos de procesador lógico se puede utilizar para medir el número de subprocesos que se pueden ejecutar de manera efectiva a la vez sin que tengan que cambiar de contexto.

 Sin embargo, el navegador puede optar por informar un número menor de núcleos lógicos para representar con mayor precisión el número de Workers que pueden ejecutarse a la vez, así que no trate esto como una medida absoluta del número de núcleos en el sistema del usuario .

Ejemplos

En este ejemplo, se crea un Worker para cada procesador lógico informado por el navegador y se crea un registro que incluye una referencia al nuevo worker, así como un valor booleano que indica si nosotros ' estoy usando ese worker todavía; Estos objetos, a su vez, se almacenan en una matriz para su uso posterior. Esto crea un grupo de workers que podemos usar para procesar solicitudes más adelante.

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
La definición de 'navigator.hardwareConcurrency' en esta especificación.
Living Standard Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidFirefox para AndroidOpera para AndroidSafari en iOSSamsung Internet
hardwareConcurrencyChrome Soporte completo 37Edge Soporte completo 15Firefox Soporte completo 48IE ? Opera Soporte completo 24Safari ? WebView Android Soporte completo 37Chrome Android Soporte completo 37Firefox Android Soporte completo 48Opera Android Soporte completo 24Safari iOS ? Samsung Internet Android Soporte completo 3.0

Leyenda

Soporte completo  
Soporte completo
Compatibilidad desconocida  
Compatibilidad desconocida

See also