Junior — Middle
Ինչպե՞ս է կատարվում բլոկավորումը, երբ կանչվում է static մեթոդը, որը հայտարարված է synchronized բանալի բառով։
sobes.tech AI
Պատասխան AI-ից
Եթե ստատիկ մեթոդը հայտարարված է synchronized բանալի բառով, ապա բլոկավորումը տեղի է ունենում դասի օբյեկտի (Class object) վրա, ոչ թե օրինակակի վրա:
Սա նշանակում է, որ այդպիսի մեթոդը կանչելիս, թելը (thread) ստանում է դասի մոնիտորը (lock), և մյուս թելերը, որոնք փորձում են կանչել այդ նույն դասի ցանկացած այլ synchronized ստատիկ մեթոդ, կսպասեն լոկի ազատմանը:
Օրինակ:
public class MyClass {
public static synchronized void staticSyncMethod() {
// մեթոդի կոդը
}
}
Այստեղ մոնիտորը MyClass.class օբյեկտն է։