Являются ли HTML5 Web Workers потоками или процессами? - PullRequest
0 голосов
/ 01 марта 2019

Из документации Mozilla:

Web Workers - это простой способ для веб-контента запускать сценарии в фоновых потоках.

Учитывая, что Javascript является однопоточным,веб-работники разделяют темы или процессы ?Есть ли общая память, которая классифицирует их как потоки?

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Учитывая, что Javascript является однопоточным

JavaScript не является однопоточным.

Основная часть программы JavaScript выполняется в цикле событий.

Длительные процессы (классический пример XMLHttpRequest) почти всегда обрабатываются для того, чтобы работать вне цикла событий (часто в разных потоках).

Веб-работники - всего лишь средствонаписать JavaScript, который запускается вне основного цикла событий.

Являются ли веб-работники отдельными потоками или процессами?Существует ли разделяемая память, которая классифицирует их как потоки?

Это подробности реализации конкретного механизма JS.

0 голосов
/ 01 марта 2019

Они работают в фоновом режиме потоков , но API полностью абстрагируется от реализации, поэтому вы можете столкнуться с браузером, который просто планирует их запуск в том же потоке, что и другие события, такие как Node.Процессы слишком тяжелые для запуска фоновых задач.

...