Обложка канала

Java библиотека

12847 @javalib

Всё для Java разработчиков.

Java библиотека

4 года назад
Открыть в
На каком объекте происходит синхронизация при вызове static synchronized метода? У синхронизированного статического метода нет доступа к this, но есть доступ к объекту класса Class, он присутствует в единственном экземпляре и именно он выступает в качестве монитора для синхронизации статических методов. Таким образом, следующая конструкция:
 class SomeClass {

    public static synchronized void someMethod() {
        //code
    }
}
эквивалентна такой: public class SomeClass { public static void someMethod(){ synchronized(SomeClass.class){ //code } } }