Sobes.tech
Назад к вопросам
Junior — Middle
66

При каких случаях следует применять статический метод с синхронизацией в Java?

Ответ от нейросети

sobes.tech AI

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

Синхронизация статического метода блокирует монитор класса (Class object), а не конкретного объекта, поэтому все вызовы этого метода из разных потоков будут выполняться по очереди.

Пример:

public class Counter {
    private static int count = 0;

    public static synchronized void increment() {
        count++;
    }

    public static synchronized int getCount() {
        return count;
    }
}

Здесь синхронизация нужна, чтобы избежать одновременного изменения переменной count несколькими потоками.