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