Что такое Virtual Threads и synchronized?

Ответ

Virtual Thread на synchronized → pinning (привязка к platform thread). Решение: ReentrantLock вместо synchronized. Это частый вопрос для Java 21.

Разбор: Блокировка виртуального потока внутри synchronized вызывает pinning — поток приклеивается к несущему platform-потоку, и масштабируемость теряется; рекомендованное решение — ReentrantLock, который умеет корректно парковать виртуальный поток. Ловушка: проблема не в видимости и не в реентерабельности (мониторы реентерабельны), а именно в невозможности отпарковать поток с монитора.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться