Junior — Middle
Може ли да се използва модификаторът synchronized за статичен метод в Java?
sobes.tech AI
Отговор от AI
Да, в Java може да се използва модификаторът synchronized за статичен метод. В този случай блокирането се случва на ниво клас (обект Class), а не на ниво екземпляр.
Това означава, че ако един поток изпълнява статичен синхронизиран метод, други потоци, които се опитват да извикат всеки друг статичен синхронизиран метод на същия клас, ще бъдат блокирани до освобождаването на блокировката.
Пример:
public class Example {
public static synchronized void staticMethod() {
// код, синхронизиран върху обекта Example.class
}
}
По този начин, synchronized за статичните методи осигурява потокобезопасност на ниво клас.