Только что сделал мой собственный тест.Для этого я немного изменил код:
Цикл:
for(var i=0;i<200;i++){
this.createWorker();
this.workers[this.workersPointer].postMessage({task: 'someTask', number:i});
};
Функция createWorker:
this.workers =[];
this.workersPointer = 0;
storage=[];
var createWorker= function () {
workersPointer++;
var myPointer = workersPointer;
var worker = this.workers[this.workersPointer] = new Worker('Worker.js');
worker.onmessage = function (event) {
if (event.data.error) {
alert(event.data.error);
}
else {
document.cookie=event.data.task+"["+myPointer+"]="+event.data.number;
}
};
worker.onerror = function (event) {
alert("Error: " + event.error);
};
}
Работник:
onmessage = function(event) {
postMessage({number:event.data.number*2, task: event.data.task});
};
После того, как я запустил это, в Chrome у меня появилось 66 файлов cookie (включая красивое синее окно сбоя), в Firefox у меня - 20. Таким образом, оба браузера имеют рабочие ограничения.
РЕДАКТИРОВАТЬ:
В Opera я получаю консольное сообщение:
Превышено максимальное количество экземпляров Web Worker (16) для этого окна.