Назад к вопросам
ВТБ
Junior — Middle
62
Каким образом осуществляется блокировка при вызове статического метода, если он объявлен с ключевым словом synchronized?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Если статический метод объявлен с ключевым словом synchronized, то блокировка происходит на объекте класса (Class object), а не на экземпляре.
Это значит, что при вызове такого метода поток захватывает монитор (lock) класса, к которому принадлежит метод, и другие потоки, пытающиеся вызвать любой другой synchronized статический метод этого же класса, будут ждать освобождения блокировки.
Пример:
public class MyClass {
public static synchronized void staticSyncMethod() {
// код метода
}
}
Здесь монитором выступает объект MyClass.class.