Sobes.tech
Назад к вопросам
Senior
7

Java 21 — виртуальные потоки, работали с ними?

Компании, где спрашивали
МВидео/эльдорадо

Ответ от нейросети

sobes.tech AI

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

Виртуальные потоки интегрируются с существующим API потоков, но их создание и переключение гораздо дешевле по сравнению с традиционными потоками ОС.

Пример создания виртуального потока:

Thread.startVirtualThread(() -> {
    System.out.println("Виртуальный поток работает");
});

Работать с ними удобно для IO-bound задач, где много ожидания, например, сетевые запросы или операции с базой данных. Они позволяют писать код в синхронном стиле, но с масштабируемостью асинхронного.

Я работал с виртуальными потоками в тестовых проектах, оценивал их производительность и удобство, особенно в контексте серверных приложений с большим количеством одновременных соединений.