Sobes.tech
Junior — Middle
81

La ce nivel se află monitorul care asigură sincronizarea în interiorul unei metode non-statice folosind cuvântul cheie synchronized?

Companiile au fost întrebate
Альфа-БанкАльфа-Банк

Răspuns de la AI

sobes.tech AI

В Java, когда нестатический метод объявлен с ключевым словом synchronized, монитор (lock) берётся на экземпляр объекта, для которого вызывается этот метод. То есть синхронизация происходит на уровне конкретного объекта класса, а не на уровне класса в целом.

Пример:

public class MyClass {
    public synchronized void myMethod() {
        // код, синхронизированный на this
    }
}

В этом примере монитором является объект this — текущий экземпляр класса MyClass. Если несколько потоков вызывают этот метод на одном и том же объекте, они будут синхронизированы, а вызовы на разных объектах могут выполняться параллельно.