Sobes.tech
Junior — Middle

Da li je moguće koristiti modifikator synchronized za statički metod u Javi?

sobes.tech АИ

Одговор од АИ

Да, в Java можно использовать модификатор synchronized для статического метода. В этом случае блокировка происходит на уровне класса (объекта Class), а не на уровне экземпляра.

Это значит, что если один поток выполняет статический синхронизированный метод, другие потоки, пытающиеся вызвать любой другой статический синхронизированный метод этого же класса, будут заблокированы до освобождения блокировки.

Пример:

public class Example {
    public static synchronized void staticMethod() {
        // код, синхронизированный на объекте Example.class
    }
}

Таким образом, synchronized для статических методов обеспечивает потокобезопасность на уровне класса.