Junior — Middle
Je možné použiť modifikátor synchronized pre statickú metódu v Jave?
sobes.tech AI
Odpoveď od AI
Áno, v Jave je možné použiť modifikátor synchronized pre statické metódy. V takom prípade sa zámok vykonáva na úrovni triedy (objekt Class), nie na úrovni inštancie.
To znamená, že ak jeden vlákno vykonáva synchronizovanú statickú metódu, ostatné vlákna, ktoré sa pokúsia zavolať akúkoľvek inú synchronizovanú statickú metódu tej istej triedy, budú zablokované, kým sa zámok neuvoľní.
Príklad:
public class Example {
public static synchronized void staticMethod() {
// kód synchronizovaný na objekte Example.class
}
}
Týmto spôsobom synchronized pre statické metódy zabezpečuje bezpečnosť vlákien na úrovni triedy.