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