Widely available すべての主要ブラウザで対応済み。安心して使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
37
15
48
15.4
37
15.4

navigator.hardwareConcurrency は読み取り専用のプロパティで、ユーザーのコンピューターでスレッドを実行するために利用できる論理プロセッサーの数を返します。

37
15
48
15.4
37
15.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 2件
実装メモ
  • デバイスのフィンガープリントを防止するため、このプロパティの値は4コアまたは8コアに制限されています。バグ233381を参照してください。
削除済み
  • このバージョンで機能が削除されました (11)
注釈 2件
実装メモ
  • デバイスのフィンガープリントを防止するため、このプロパティの値は4コアまたは8コアに制限されています。バグ233381を参照してください。
削除済み
  • このバージョンで機能が削除されました (11)
注釈 2件
実装メモ
  • デバイスのフィンガープリントを防止するため、このプロパティの値は4コアまたは8コアに制限されています。バグ233381を参照してください。
削除済み
  • このバージョンで機能が削除されました (11)
注釈 2件
実装メモ
  • デバイスのフィンガープリントを防止するため、このプロパティの値は4コアまたは8コアに制限されています。バグ233381を参照してください。
削除済み
  • このバージョンで機能が削除されました (11)

基本構文

JAVASCRIPT
let workerList = [];

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

実務での使いどころ

  • hardwareConcurrency の活用

    navigator.hardwareConcurrency は読み取り専用のプロパティで、ユーザーのコンピューター上でスレッドを実行するために使用可能な論理プロセッサー数を返します。

注意点

  • 古いブラウザでは対応していない場合がある。

実装メモ

  • 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。