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