Встречается на собеседованиях • сегодня

В чем разница между виртуальными и реальными потоками

Виртуальные потоки (Virtual Threads) — это легковесные потоки, управляемые JVM, а не ОС. Они экономят ресурсы, позволяя создавать миллионы потоков без накладных расходов.

Реальные потоки (Platform Threads) — это традиционные потоки ОС, каждый из которых требует выделения стека и ресурсов ядра. Их количество ограничено.

Пример с виртуальными потоками (Java 21+):

java
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
    executor.submit(() -> System.out.println("Hello from virtual thread!"));
}

Ключевые отличия:

  • Виртуальные потоки дешевле в создании и переключении.
  • Они работают поверх реальных потоков (carrier threads).
  • Подходят для задач с блокирующими операциями (I/O).
  • Реальные потоки лучше для CPU-bound задач.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы