Junior — Middle
Synchronized anahtar kelimesi kullanıldığında kilit mekanizması hangi nesnede gerçekleştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da synchronized anahtar kelimesi kullanıldığında, kilitleme mekanizması bağlama bağlıdır:
synchronizedstatik olmayan bir metoda uygulanırsa, kilitleme çağrılan nesne (this) üzerinde gerçekleşir.synchronizedstatik bir metoda uygulanırsa, kilitleme sınıf nesnesi (Class) üzerinde gerçekleşir, yani sınıfın kendisi üzerinde.synchronized(obj)bloğu kullanılırsa, kilitlemeobjnesnesi üzerinde gerçekleşir.
Örnek:
public class Example {
public synchronized void instanceMethod() {
// this üzerinde kilitleme
}
public static synchronized void staticMethod() {
// Example.class üzerinde kilitleme
}
public void blockMethod() {
Object lock = new Object();
synchronized(lock) {
// lock üzerinde kilitleme
}
}
}