Многопоточность middle
Что такое Virtual Threads и synchronized?
Ответ
Virtual Thread на synchronized → pinning (привязка к platform thread). Решение: ReentrantLock вместо synchronized. Это частый вопрос для Java 21.
Разбор: Блокировка виртуального потока внутри synchronized вызывает pinning — поток приклеивается к несущему platform-потоку, и масштабируемость теряется; рекомендованное решение — ReentrantLock, который умеет корректно парковать виртуальный поток. Ловушка: проблема не в видимости и не в реентерабельности (мониторы реентерабельны), а именно в невозможности отпарковать поток с монитора.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.