Что такое JavaScript?
Многопоточность в браузере
На странице браузера скрипты выполняются в едином потоке с пользовательским интерфейсом. При объемных вычисления это приводит к «зависанию» - страница перестает реагировать на ввод. Да и сам браузер, замечая такую ситуацию, предлагает ее закрыть.
Обойти эту проблему можно используя асинхронность JavaScript.
Если разбить непрерывное вычисление на блоки, которые запускаются один за другим по таймеру с заданным интервалом, то это решит проблему отзывчивости интерфейса, но все равно будет недоступна вся мощь многоядерного процессора клиента...
Потоки и процессы в браузере. Проблема однопоточности в JavaScript
Прежде чем говорить о JavaScript разберёмся в том, как вообще работает современный браузер, как происходит преобразование кода в веб-страницу и причём тут процессы и потоки. Браузер, как представление работы Процессов и Потоков И так, что же такое “процесс” и “поток”? Если говорить коротко, то процесс – это выполняющаяся программа приложения, а поток – это некая жизнь внутри процесса, которая выполняет какую-либо часть программы. Так, например, когда мы запускаем приложение, то создаётся процесс, он же может создать поток(и), чтобы помочь себе в работе. Операционная система в свою очередь предоставляет...