Junior — Middle
რის დონეზე მდებარეობს მონიტორი, რომელიც უზრუნველყოფს სინქრონიზაციას არასტერიული მეთოდის შიგნით, გამოყენებით synchronized საკვანძო სიტყვა?
sobes.tech AI
პასუხი AI-სგან
В Java, когда нестатический метод объявлен с ключевым словом synchronized, монитор (lock) берётся на экземпляр объекта, для которого вызывается этот метод. То есть синхронизация происходит на уровне конкретного объекта класса, а не на уровне класса в целом.
Пример:
public class MyClass {
public synchronized void myMethod() {
// код, синхронизированный на this
}
}
В этом примере монитором является объект this — текущий экземпляр класса MyClass. Если несколько потоков вызывают этот метод на одном и том же объекте, они будут синхронизированы, а вызовы на разных объектах могут выполняться параллельно.