Sobes.tech
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.