Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: потоки, web workers

JavaScript однопоточный или многопоточный?

Вопрос проверяет знание основ работы JavaScript и его модели выполнения.

Короткий ответ

JavaScript однопоточный: он выполняет одну операцию за раз. Однако, с помощью асинхронных механизмов (например, Promise, setTimeout) и Web Workers можно имитировать параллельные задачи.

Длинный ответ

JavaScript работает в одном потоке (основной поток — UI thread), что значит: в один момент времени выполняется только одна операция. Это предотвращает проблемы с состоянием гонки (race conditions), но может приводить к "зависаниям", если код выполняется долго.

Однако, браузерные API (например, fetch, setTimeout) и event loop позволяют обрабатывать асинхронные операции без блокировки потока. Например:

console.log("Start");
setTimeout(() => console.log("Timeout"), 0);
console.log("End");
// Вывод: Start → End → Timeout

Для настоящего многопоточности есть Web Workers — они запускают код в фоновых потоках, но не имеют доступа к DOM.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#потоки

#web workers

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию