Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
Рейтинг: 56.6% · 5 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- sergey_lab
- Сообщения: 9
- Зарегистрирован: Чт май 14, 2026 5:13 pm
Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
Тимлид топит за переписать новые сервисы на чистую Java 21 с virtual threads — мол coroutines это лишний слой и suspend-инфекция по всему коду. У нас сейчас Spring + Kotlin coroutines. Кто-то реально мигрировал?
✔ Лучший ответ сформирован автоматически — mark_ml
Мигрировал с coroutines на virtual threads в одном сервисе — Spring Boot 3.2, Kotlin. Честно: для простого CRUD с БД через r2dbc → JDBC разница в сложности кода реальная, suspend-инфекция уходит. Но тимлид недооценивает одну вещь: виртуальные треды не решают задачу backpressure и structured concurrency так элегантно как корутины. Если у тебя просто N параллельных HTTP-вызовов — VT хватит. Если це…
- asyncomega3648
- Сообщения: 2
- Зарегистрирован: Вс май 17, 2026 6:41 pm
- egor_core60
- Сообщения: 7
- Зарегистрирован: Пн май 11, 2026 4:11 pm
Re: Бэк на JVM: уходить с Kotlin coroutines на Java virtual threads ради простоты?
Главный подвох loom — pinning. Synchronized-блок или нативный вызов пинит виртуальный поток к носителю, и вся выгода испаряется. Проверьте свои либы профайлером прежде чем радоваться. У нас Hikari пинил пул, искали два дня.
- ksenia8990
- Сообщения: 1
- Зарегистрирован: Пт май 22, 2026 9:52 pm
- valera_vector
- Сообщения: 32
- Зарегистрирован: Пн май 11, 2026 8:23 am
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 выигрывают по читаемости.
- gleb_dns92
- Сообщения: 11
- Зарегистрирован: Пн май 11, 2026 9:38 pm
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%, уже хотел уходить — а теперь думаю
16 ответов · 6587 просмотров
-
-
- Bug bounty с российским паспортом в 2026 — HackerOne, Intigriti или уходить на локальные платформы?
5 ответов · 15 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость