Многопоточность middle
Что такое Разница между synchronized-методом и synchronized-блоком?
Ответ
Метод захватывает this (для static — Class-объект). Блок — любой указанный объект. Блок обычно эффективнее.
Разбор: Нестатический synchronized-метод неявно захватывает монитор this, статический — монитор Class-объекта; synchronized-блок позволяет явно указать любой объект-монитор и сузить критическую секцию, поэтому обычно эффективнее. Ловушка в утверждениях, что блок блокирует весь класс или что метод и блок всегда берут один и тот же монитор — выбор монитора в блоке произволен.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.