Мой JS код основного потока:О Web Workers параллельности
$('body').on('click',function(){alert('click');});
var worker = new Worker('worker.js');
worker.addEventListener('message', function(e) {
console.log(e.data);
});
и код внутри worker.js
var n = 1;
while (true) {
n++;
postMessage(n);
}
Я только начал изучать о Web workers
. Они должны не блокировать пользовательский интерфейс и позволить вам взаимодействовать с ним, в то время как они (рабочие) работают в отдельном потоке, чтобы реализовать параллелизм. На практике то, что я получаю при запуске вышеуказанного кода, - это застрявший браузер без ответа на любой щелчок. Работник работает путем вывода чисел, однако где параллелизм и независимость пользовательского интерфейса?
Я ждётельно для хорошего объяснения.
Спасибо
Работники Сети не имеют разделяемой памяти с основным потоком, поэтому каждый раз, когда вы передаете данные между ними, потоки должны приостанавливаться до тех пор, пока принимающая сторона не ответит. –