javascript - 创建动态数量的网络工作者 Javascript
问题描述
我正在开发一个性能繁重的应用程序,其中的工作负载可以很容易地细分为网络工作者。
然而,由于不同的消费硬件,我直到运行时才知道最佳的工人数量。在运行时,我可以使用navigator.hardwareConcurrency找到最佳数量。
我的问题是我想不出一种方法来产生未知数量的工人。例如,如果我想生成 3 个网络工作者,我可以这样做:
var worker0 = new Worker("workerScript.js");
var worker1 = new Worker("workerScript.js");
var worker2 = new Worker("workerScript.js");
有没有办法产生和监听来自“x”个工人的事件?
解决方案
MDN中有一个例子
let workerList = [];
for (let i = 0; i < window.navigator.hardwareConcurrency; i++) {
let newWorker = {
worker: new Worker('cpuworker.js'),
inUse: false
};
workerList.push(newWorker);
}
推荐阅读
- reactjs - 特定组件的深色主题
- vue.js - 在 VUE.js 中访问孙子的属性
- spring - 应该设置什么状态来返回 HttpStatus 中实体的验证错误
- angular - Angular - 使用可编辑配置文件中的值为 serviceURL 定义 DI 令牌
- swift - 为什么在 SwiftUI 中单击空白区域后会调用 onTapGesture?
- arrays - 如何将直接值分配给 C 中动态创建的二维数组?
- java - 为什么在其父类中未定义子类构造函数?
- angular - 如何在结构指令中传递输入变量?
- google-apps-marketplace - 为现有用户重新发布APP的行为
- javascript - 如何将 hello 组件放在导航栏下?粒子占据整个屏幕