Sobes.tech
Junior — Middle

Объект сыныбының негізгі әдістері қандай, олар ағындармен жұмыс істеу және синхрондау үшін пайдаланылады?

sobes.tech AI

AI-дан жауап

Java-да Object класы көптөгөн методдорду сунуштайт, алар көбүнчө агымдар жана синхрондоштуруу менен иштөөдө колдонулат:

  • wait() — учурдагы агымды токтотуп, башка агым notify() же notifyAll() деп аталган методду ошол эле объектте чакырганча күтөт. Бул күтүүнү белгилүү бир абалга жеткенге чейин уюштуруу үчүн колдонулат.

  • notify() — бул объектте күтүп жаткан бир агымды ойготот.

  • notifyAll() — бул объектте күтүп жаткан бардык агымдарды ойготот.

Бул методдор синхрондоштурулган блок же метод ичинде чакырылышы керек, эгер жок болсо, IllegalMonitorStateException чыгат.

Көбүнчө колдонуу мисалы:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // Шарт ишке ашкан соң аткарылчу иш-аракеттер
}

// Башка агымда
synchronized (sharedObject) {
    // Абалды өзгөртүү
    sharedObject.notify();
}