Многопоточность junior
Что такое synchronized?
Ответ
Ключевое слово для захвата монитора объекта. Гарантирует, что в блок одновременно войдёт только один поток. Можно на методе или на блоке кода.
Разбор: synchronized захватывает монитор объекта, обеспечивая взаимное исключение (только один поток в критической секции) и применяется как к методам, так и к блокам. Ловушки: метод не становится одной машинной инструкцией — атомарность достигается через блокировку, а не неделимость; synchronized гарантирует и видимость (happens-before на входе/выходе из монитора), отдельный volatile не обязателен; и он не создаёт копий данных для потоков, как ThreadLocal.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.