Sobes.tech
Назад к вопросам
Junior — Middle
55

Каким образом осуществляется синхронизация внутри метода с ключевым словом synchronized?

Компании, где спрашивали
Альфа-БанкАльфа-Банк

Ответ от нейросети

sobes.tech AI

В Java ключевое слово synchronized используется для обеспечения взаимного исключения при доступе к критической секции кода.

Когда метод объявлен как synchronized, JVM автоматически захватывает монитор (lock) объекта, на котором вызывается метод, перед выполнением кода метода, и освобождает его после завершения.

Если метод нестатический, монитором служит объект текущего экземпляра (this). Если метод статический — монитором является объект класса (Class object).

Это гарантирует, что в один момент времени только один поток может выполнять этот метод для данного объекта (или класса), предотвращая состояние гонки.

Пример:

public synchronized void increment() {
    count++;
}

Здесь, если несколько потоков вызывают increment(), они будут выполняться по очереди, не прерывая друг друга.