
Что сейчас с Project Loom? Structured Concurrency: preview №7
rurikovich 1 час назад Что сейчас с Project Loom? Structured Concurrency: preview №7 Средний 9 мин 2.9K Java * Kotlin * Высоконагруженные системы * Анализ и проектирование систем * Веб-разработка * Обзор Привет,...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. rurikovich 1 час назад Что сейчас с Project Loom? Structured Concurrency: preview №7 Средний 9 мин 2. 9K Java * Kotlin * Высоконагруженные системы * Анализ и проектирование систем * Веб-разработка * Обзор Привет, Хабр!
Недавно я написал серию статей про модели конкурентности в разных JVM-языках. И неожиданно именно первая статья, про Java, получила самый заметный положительный отклик у читателей Хабра. Поэтому я решил сделать отдельный подробный обзор актуального на май 2026 года состояния Project Loom.
Технические детали
В Project Loom есть virtual threads, которые стали финальной фичей еще в Java 21. Есть Scoped Values, которые дошли до final в Java 25. И есть Structured Concurrency, которая все еще остается preview API и продолжает меняться.
В этой части будет теория: что вообще меняет Loom в модели Java-конкурентности, зачем нужны virtual threads, почему рядом появились Scoped Values и какую дыру пытается закрыть Structured Concurrency. Код будет, но короткий, скорее для иллюстрации идеи. Во второй части будет практика: как включить preview Structured Concurrency, какие флаги нужны для javac, Maven и Gradle, и как выглядят рабочие примеры со ScopedValue и StructuredTaskScope.
Что такое Project LoomProject Loom - это большой проект OpenJDK про конкурентность. Его самая известная часть: virtual threads. Но Loom не только про “миллион потоков”.
Отраслевые последствия
Основная идея проще: серверный код на Java снова можно писать обычным последовательным способом:User user = userClient. load(userId); List orders = orderClient. loadOrders(userId); return render(user, orders); А не обязательно превращать обычную бизнес-операцию в цепочку callback’ов, CompletableFuture, reactive streams или в локальный филиал теории категорий.
Reactive-подход нужен не везде. Часто backend-код делает обычную работу: сходить в базу, вызвать пару внутренних сервисов, собрать DTO и вернуть ответ. Для такого сценария последовательный код обычно читается проще.
Историческая проблема Java была в том, что обычный Thread дорогой. Он связан с потоком операционной системы, стеком, планировщиком ОС и прочими не бесплатными вещами. Если на каждый запрос, каждое ожидание БД и каждый HTTP-вызов заводить platform thread, то масштабироваться можно, но до определенного момента.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.




