Junior — Middle
Senkronize anahtar kelimesiyle tanımlanmış statik bir metod çağrılırken kilitleme nasıl gerçekleştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir statik yöntem synchronized anahtar kelimesiyle tanımlanmışsa, kilitleme sınıf nesnesinde (Class object) gerçekleşir, örnekte değil.
Bu, böyle bir yöntem çağrıldığında, iş parçacığının yöntemin ait olduğu sınıfın monitörünü (lock) aldığı ve bu sınıfın başka herhangi bir synchronized statik yöntemini çağırmaya çalışan diğer iş parçacıklarının kilidin serbest bırakılmasını bekleyeceği anlamına gelir.
Örnek:
public class MyClass {
public static synchronized void staticSyncMethod() {
// yöntem kodu
}
}
Burada monitör, MyClass.class nesnesidir.