Junior — Middle
Synchronized kalit so'zi ishlatilganda blokirovka mexanizmi qaysi ob'ektda amalga oshiriladi?
sobes.tech AI
AIdan javob
Java'da synchronized kalit so'zi ishlatilganda, bloklash mexanizmi kontekstga bog'liq:
- Agar
synchronizedstatik bo'lmagan metodga qo'llanilsa, bloklama chaqirilayotgan ob'ekt (this) ustida amalga oshiriladi. - Agar
synchronizedstatik metodga qo'llanilsa, bloklama sinf ob'ekti (Class) ustida amalga oshiriladi, ya'ni sinf o'zi ustida. - Agar
synchronized(obj)bloki ishlatilsa, bloklamaobjob'ekti ustida amalga oshiriladi.
Misol:
public class Example {
public synchronized void instanceMethod() {
// this ustida bloklama
}
public static synchronized void staticMethod() {
// Example.class ustida bloklama
}
public void blockMethod() {
Object lock = new Object();
synchronized(lock) {
// lock ustida bloklama
}
}
}