Navigator: свойство hardwareConcurrency
Базовая Широко доступно
Это функция, хорошо зарекомендовавшая себя и работающая на многих устройствах и версиях браузеров. Она доступна во всех браузерах с марта 2022 года.
Это navigator.hardwareConcurrency только для чтения свойство возвращает количество логических процессоров, доступных для запуска потоков на компьютере пользователя.
Значение
Число от 1 до количества потенциально доступных логических процессоров для пользователя.
Современные компьютеры имеют несколько физических процессорных ядер в своем ЦП (обычно два или четыре ядра), но каждое физическое ядро обычно также способно выполнять более одного потока одновременно с помощью усовершенствованных методов планирования. Таким образом, процессор с четырьмя ядрами может предложить восемь логических процессорных ядер, например. Количество логических процессорных ядер может использоваться для измерения количества потоков, которые можно эффективно запустить одновременно, без необходимости переключения контекста.
Однако браузер может выбрать сообщение о меньшем количестве логических ядер, чтобы более точно отразить количество Worker , которые могут работать одновременно, поэтому не рассматривайте это как абсолютную меру количества ядер в системе пользователя.
Примеры
В этом примере для каждого логического процессора, о котором сообщает браузер, создается один Worker, и создается запись, содержащая ссылку на новый рабочий процесс, а также логическое значение, указывающее, используется ли этот рабочий процесс; эти объекты, в свою очередь, хранятся в массиве для последующего использования. Это создает пул рабочих процессов, которые мы можем использовать для обработки запросов позже.
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 |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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. |
37 | 48 | 24 |
15.4Значение этого свойства ограничено 4 или 8 ядрами, чтобы предотвратить отслеживание устройств. См. ошибку 233381. |
3.0 | 37 |
См. также
© 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/Navigator/hardwareConcurrency