Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
Рейтинг: 56.6% · 5 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
Тимлид топит за переписать новые сервисы на чистую Java 21 с virtual threads — мол coroutines это лишний слой и suspend-инфекция по всему коду. У нас сейчас Spring + Kotlin coroutines. Кто-то реально мигрировал?
✔ Лучший ответ сформирован автоматически — kernel2025
Со стороны андроида скажу: structured concurrency и отмена в корутинах это то, чего у loom из коробки нет. Если у вас сложные пайплайны с отменой — потеряете удобство.
- kernel2025
- Сообщения: 7
- Зарегистрирован: 13 май 2026, 05:05
- Репутация: 68
Re: Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
✔ Лучший ответ — сформирован автоматически
Со стороны андроида скажу: structured concurrency и отмена в корутинах это то, чего у loom из коробки нет. Если у вас сложные пайплайны с отменой — потеряете удобство.
Re: Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
Главный подвох loom — pinning. Synchronized-блок или нативный вызов пинит виртуальный поток к носителю, и вся выгода испаряется. Проверьте свои либы профайлером прежде чем радоваться. У нас Hikari пинил пул, искали два дня.
Re: Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
Мигрировал с coroutines на virtual threads в одном сервисе — Spring Boot 3.2, Kotlin. Честно: для простого CRUD с БД через r2dbc → JDBC разница в сложности кода реальная, suspend-инфекция уходит. Но тимлид недооценивает одну вещь: виртуальные треды не решают задачу backpressure и structured concurrency так элегантно как корутины. Если у тебя просто N параллельных HTTP-вызовов — VT хватит. Если цепочки с отменой, таймаутами по поддеревьям, агрегация результатов — coroutines выигрывают по читаемости.
Re: Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
Важный нюанс для Spring + VT: убедись что убрал все blocking-коды из synchronized блоков или заменил на ReentrantLock, иначе получишь pinned threads и весь выигрыш VT испарится. Это не гипотетическая проблема — Hibernate 6.2 и ряд JDBC-драйверов держали synchronized внутри до недавнего времени. Проверяй через -Djdk.tracePinnedThreads=full при нагрузочном тесте перед миграцией.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Текущий работодатель сделал контроффер +40%, уже хотел уходить — а теперь думаю
19 ответов · 6699 просмотров
-
-
- Bug bounty с российским паспортом в 2026 — HackerOne, Intigriti или уходить на локальные платформы?
8 ответов · 84 просмотров
-
- Непопулярное мнение: уходить из найма в свой продукт без MRR это инфантилизм
8 ответов · 77 просмотров
-
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость