Junior — Middle
Kako se vrši blokiranje prilikom poziva statičke metode deklarisane sa ključnom rečju synchronized?
sobes.tech АИ
Одговор од АИ
Ако je statička metoda deklarisana sa ključnom rečju synchronized, blokada se dešava na objektu klase (Class object), a ne na instanci.
To znači da, prilikom poziva takve metode, nit (thread) stiče monitor (lock) klase kojoj metoda pripada, i druge niti koje pokušavaju da pozovu bilo koju drugu sinkronizovanu statičku metodu iste klase, čekaju oslobađanje blokade.
Primer:
public class MyClass {
public static synchronized void staticSyncMethod() {
// kod metode
}
}
Ovde, monitor je objekat MyClass.class.