synchronized обеспечивает взаимное исключение — только один поток выполняет блок кода одновременно. На методе — блокирует this (для instance) или Class (для static). synchronized(obj) — блокирует конкретный объект-монитор. Гарантирует visibility — изменения видны другим потокам после выхода из блока. Недостатки: нельзя прервать ожидание блокировки, нет tryLock, нет fairness. Для сложных сценариев используй ReentrantLock. Не забывай: синхронизация на this — любой может взять твой монитор, лучше приватный объект.
Что делает ключевое слово synchronized?
Middle
446 просмотровAFK Offer AI
Как работают лямбда-выражения в Java?