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();
}