Junior — Middle
Kādā objektā tiek īstenots bloķēšanas mehānisms, izmantojot synchronized atslēgas vārdu?
sobes.tech AI
Atbilde no AI
Java valodā, lietojot atslēgas vārdu synchronized, bloķēšanas mehānisms ir atkarīgs no konteksta:
- Ja
synchronizedtiek piemērots nesstatiskai metodei, bloķēšana notiek uz objekta (this), no kura tiek izsaukta metode. - Ja
synchronizedtiek piemērots statiskai metodei, bloķēšana notiek uz klases objekta (Class), tas ir, uz pašu klasi. - Ja tiek izmantots
synchronized(obj)bloks, bloķēšana notiek uzobjobjekta.
Piemērs:
public class Example {
public synchronized void instanceMethod() {
// bloķēšana uz this
}
public static synchronized void staticMethod() {
// bloķēšana uz Example.class
}
public void blockMethod() {
Object lock = new Object();
synchronized(lock) {
// bloķēšana uz lock
}
}
}