Sobes.tech
Junior — Middle

Որոնք են Object դասի հիմնական մեթոդները, որոնք օգտագործվում են հոսքերի և սինխրոնիզացիայի հետ աշխատելու համար։

sobes.tech AI

Պատասխան AI-ից

Java- ում, Object դասը տրամադրում է մի քանի մեթոդներ, որոնք հաճախ օգտագործվում են թելերով և սինխրոնիզացիայով աշխատելիս:

  • wait() — թույլ է տալիս ընթացիկ թելին սպասել, մինչ ուրիշ թել կզանգի notify() կամ notifyAll() նույն օբյեկտի վրա: Օգտագործվում է որոշակի վիճակի սպասման կազմակերպման համար:

  • notify() — մի թել է վերարթնանում, որը սպասում է այդ օբյեկտի վրա:

  • notifyAll() — վերարթնացնում է բոլոր թելերը, որոնք սպասում են այդ օբյեկտի վրա:

Այս մեթոդները պետք է կանչվեն սինխրոնիզացված բլոկի կամ մեթոդի ներսում, հակառակ դեպքում կբացառվի IllegalMonitorStateException:

Օգտագործման օրինակ:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // Աշխատանքներ պայմանը կատարվելուց հետո
}

// Այլ թելում
synchronized (sharedObject) {
    // Կարգավիճակի փոփոխություն
    sharedObject.notify();
}