Sobes.tech
Junior — Middle

Come viene effettuata la sincronizzazione all'interno del metodo con la parola chiave synchronized?

sobes.tech AI

Risposta dell'AI

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

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

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

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

Пример:

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

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