Junior — Middle
Synchronized açar sözü istifadə edilərkən kilidləmə mexanizmi hansı obyekt üzərində həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da synchronized açar sözü istifadə edilərkən, kilidləmə mexanizmi kontekstdən asılıdır:
- Əgər
synchronizedstatik olmayan metoda tətbiq olunursa, kilidləmə çağırılan obyekt (this) üzərində baş verir. - Əgər
synchronizedstatik metoda tətbiq olunursa, kilidləmə sinif obyekti (Class) üzərində baş verir, yəni sinif özü üzərində. - Əgər
synchronized(obj)bloku istifadə olunursa, kilidləməobjobyektində baş verir.
Misal:
public class Example {
public synchronized void instanceMethod() {
// this üzərində kilidləmə
}
public static synchronized void staticMethod() {
// Example.class üzərində kilidləmə
}
public void blockMethod() {
Object lock = new Object();
synchronized(lock) {
// lock üzərində kilidləmə
}
}
}