概述`navigator.hardwareConcurrency` 返回建议的并行度(逻辑处理器数量),可用于初始化 Worker 池与并行任务分配。需结合任务性质与设备功耗进行调整。示例const N = Math.max(1, Math.min(navigator.hardwareConcurrency || 4, 8)) const workers = Array.from({ length: N }, () => new Worker('/worker.js')) // 简单分片分发 function parallelProcess(items) { const chunks = Array.from({ length: N }, () => []) items.forEach((it, i) => chunks[i % N].push(it)) return Promise.all(chunks.map((chunk, i) => new Promise(res => { workers[i].onmessage = e => res(e.data) workers[i].postMessage({ chunk }) }))) } 工程建议动态并行度:根据任务类型(CPU/IO)与设备性能调整;避免过度并行导致争用与功耗上升。池管理:复用 Worker 与任务队列;记录失败与超时重试。兼容:未暴露或返回异常值时回退到经验并行度;允许用户设置上限。参考与验证MDN `navigator.hardwareConcurrency` 文档:https://developer.mozilla.org/docs/Web/API/NavigatorConcurrentHardware/hardwareConcurrency

发表评论 取消回复