Sobes.tech
Junior — Middle

Dans quels cas doit-on utiliser une méthode statique avec synchronisation en Java?

sobes.tech IA

Réponse de l'IA

Статический метод с синхронизацией в 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 несколькими потоками.