Junior — Middle
Czy można użyć modyfikatora synchronized dla metody statycznej w języku Java?
sobes.tech AI
Odpowiedź od AI
Tak, w Javie można używać modyfikatora synchronized dla metod statycznych. W takim przypadku blokada odbywa się na poziomie klasy (obiekt Class), a nie na poziomie instancji.
Oznacza to, że jeśli jeden wątek wykonuje statyczną metodę synchronizowaną, inne wątki próbujące wywołać dowolną inną statyczną metodę synchronizowaną tej samej klasy będą zablokowane do czasu zwolnienia blokady.
Przykład:
public class Example {
public static synchronized void staticMethod() {
// kod synchronizowany na obiekcie Example.class
}
}
W ten sposób synchronized dla metod statycznych zapewnia bezpieczeństwo wątków na poziomie klasy.