Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: virtual, thread

Что такое virtual threads и в чём их идея?

Вопрос проверяет знание современных возможностей Java и понимание масштабируемой многопоточности.

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

Virtual threads — это лёгкие потоки, управляемые JVM, а не операционной системой. Они позволяют создавать миллионы потоков без серьёзных накладных расходов. Идея заключается в том, чтобы упростить конкурентный код, сохранив привычную модель потоков. Virtual threads особенно эффективны для задач с большим количеством блокирующих операций. Они появились в рамках Project Loom.

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

Определение

Virtual threads — это потоки, которые:

  • создаются и управляются JVM

  • не имеют собственного потока ОС

  • выполняются поверх небольшого пула carrier-потоков

В чём проблема классических потоков

Потоки ОС:

  • тяжёлые

  • ограничены ресурсами системы

  • плохо масштабируются при большом количестве блокирующих операций

Идея virtual threads

Virtual threads позволяют:

  • писать обычный блокирующий код

  • масштабироваться как асинхронные решения

  • избежать callback- и reactive-сложности

Thread.startVirtualThread(() -> {
    // блокирующий код
});

JVM:

  • паркует virtual thread при блокировке

  • освобождает carrier-поток

  • возобновляет выполнение позже

Где они особенно полезны

  • I/O-нагруженные сервисы

  • серверные приложения

  • высококонкурентные системы

Вывод

Virtual threads упрощают конкурентный код и радикально повышают масштабируемость без перехода на сложные асинхронные модели.

Уровень

  • Рейтинг:

    4

  • Сложность:

    7

Навыки

  • Java

    Java

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

#virtual

#thread

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