Sobes.tech
Junior — Middle

Koje su glavne metode klase Object koje se koriste za rad sa tokovima i sinhronizacijom?

sobes.tech АИ

Одговор од АИ

U Javi, klasa Object pruža nekoliko metoda koje se često koriste prilikom rada sa nitima i sinhronizacijom:

  • wait() — čini da trenutna nit čeka dok druga nit ne pozove notify() ili notifyAll() na istom objektu. Koristi se za organizovanje čekanja na određeno stanje.

  • notify() — budi jednu nit koja čeka na tom objektu.

  • notifyAll() — budi sve niti koje čekaju na tom objektu.

Ove metode treba pozivati unutar sinhronizovanog bloka ili metode, u suprotnom će biti bačen IllegalMonitorStateException.

Primer upotrebe:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // Akcije nakon ispunjenja uslova
}

// U drugom thread-u
synchronized (sharedObject) {
    // Promena stanja
    sharedObject.notify();
}