Spec-Zone.ru › Web APIs

WorkerNavigator: свойство hardwareConcurrency

Базовая Широко доступная

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна в браузерах с марта 2022 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна только в Веб-воркерах.

Чтение-только свойство navigator.hardwareConcurrency возвращает количество логических процессоров, доступных для запуска потоков на компьютере пользователя.

Значение

Числовое значение, указывающее количество логических ядер процессора.Number

Современные компьютеры имеют несколько физических ядер процессора (обычно два или четыре), но каждое физическое ядро обычно способно выполнять более одного потока одновременно с помощью усовершенствованных методов планирования. Таким образом, четырехядерный процессор может предлагать, например, восемь логических ядер процессора. Количество логических ядер можно использовать для измерения количества потоков, которые могут быть эффективно запущены одновременно, без необходимости контекстного переключения.

Однако браузер может сообщить о меньшем количестве логических ядер, чтобы более точно отразить количество Workers, которые могут работать одновременно, поэтому не следует рассматривать это как абсолютную меру количества ядер в системе пользователя.

Примеры

В этом примере для каждого логического процессора, о котором сообщает браузер, создается один Worker, и создается запись, содержащая ссылку на новый воркер, а также булево значение, указывающее, используется ли этот воркер; эти объекты, в свою очередь, хранятся в массиве для последующего использования. Это создает пул воркеров, которые мы можем использовать для обработки запросов позже.

Следующий код можно запустить в воркере:

let workerList = [];

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

Спецификации

Спецификация
HTML
# dom-navigator-hardwareconcurrency-dev

Совместимость с браузерами

Десктопные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
hardwareConcurrency 37 15 48 24
15.4Значение этого свойства ограничено 4 или 8 ядрами, чтобы предотвратить определение устройства по отпечатку. См. ошибку 233381.
10.1–11
37 48 24
15.4Значение этого свойства ограничено 4 или 8 ядрами, чтобы предотвратить определение устройства по отпечатку. См. ошибку 233381.
10.3–11
3.0 37

См. также

  • WorkerNavigator

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WorkerNavigator/hardwareConcurrency

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API