Junior — Middle
Чӣ гуна блокировка ҳангоми даъвати усули статикӣ, ки бо калимаи калидии synchronized эълон шудааст, иҷро мешавад?
sobes.tech AI
Ҷавоб аз AI
Агар статик усул synchronized калит сўзи билан эълон қилинган бўлса, блокировка синф объекти (Class object) устида амалга оширилади, намуна устида эмас.
Бу шунга ишора қиладики, бундай усул чақирилганда, иш парчаси (thread) усулга тегишли синфнинг мониторини (lock) олади, ва бошқа иш парчалари, шу синфнинг бошқа ҳар қандай synchronized статик усулларини чақиришга уриниб, блокировка бўшашини кутадилар.
Misol:
public class MyClass {
public static synchronized void staticSyncMethod() {
// усул коди
}
}
Бу ерда монитор MyClass.class объекти ҳисобланади.