相关疑难解决方法(0)

是否存在Firefox Worker限制?

我试图创建Web Workers并在周期中向他们发布消息:

array.forEach(function (data) {
        this.createWorker();
        this.workers[this.workersPointer].postMessage({task: 'someTask', data: string});
    }, this);
Run Code Online (Sandbox Code Playgroud)

createWorker函数:

createWorker: function () {
    this.workersPointer++;
    var worker = this.workers[this.workersPointer] = new Worker('Worker.js'),
        storage = this;
    worker.onmessage = function (event) {
        if (event.data.error) {
            storage[event.data.task + 'Errback'](event.data.error);
        }
        else {
            storage[event.data.task + 'Callback'](event.data.data);
        }
    };
    worker.onerror = function (error) {
        storage.workerErrback(error);
    };
}
Run Code Online (Sandbox Code Playgroud)

工人代码:

self.addEventListener('message', function (event) {
self.postMessage({
    data: data,
    error: err,
    task: event.data.task
});
Run Code Online (Sandbox Code Playgroud)

},false);

它在Google Chrome中完美运行.当我尝试在Firefox中运行它时,它只能运行20次.Firefox网络工作者有限制吗?我在mozilla.org上找不到有关它的信息.如果没有限制,问题是什么?有任何想法吗?

javascript firefox web-worker

6
推荐指数
2
解决办法
3072
查看次数

最大运行web worker html5同样如此

是否可以同时运行最大数量的Web worker?非常感谢.

html5 web-worker

6
推荐指数
1
解决办法
2335
查看次数

Web Worker 的最佳数量

假设您的 web 应用程序上有一项需要最高性能的任务。该任务是高度可并行化的:您可以将其细分为 500 个独立的子任务。最好的解决方案是什么?

  • (A)仅仅产生 500 个 Web Workers。
  • (B)产生少量t的 Web Workers 并使它们消耗这 500 个任务。

如果(B)是可行的方法,您如何确定(如果需要,根据经验)t的最佳值?是否有任何图书馆可以解决这个特定问题?

javascript web-worker

6
推荐指数
1
解决办法
1844
查看次数

标签 统计

web-worker ×3

javascript ×2

firefox ×1

html5 ×1