Junior — Middle
Object sinfining asosiy metodlari oqimlar va sinxronizatsiya bilan ishlash uchun qanday?
sobes.tech AI
AIdan javob
Java'da, Object sinfi, iplar va sinxronizatsiya bilan ishlashda tez-tez ishlatiladigan bir nechta metodlarni taqdim etadi:
-
wait()— joriy ipni kutishga majbur qiladi, boshqa ipnotify()yokinotifyAll()ni shu ob'ekt ustida chaqirganda. Muayyan holatni kutish uchun ishlatiladi. -
notify()— bu ob'ekt ustida kutayotgan bitta ipni uyg'otadi. -
notifyAll()— bu ob'ekt ustida kutayotgan barcha iplarni uyg'otadi.
Ushbu metodlar sinxronlashtirilgan blok yoki metod ichida chaqirilishi kerak, aks holda IllegalMonitorStateException xatosi chiqariladi.
Foydalanish misoli:
synchronized (sharedObject) {
while (!condition) {
sharedObject.wait();
}
// Shart bajarilgandan so'ng bajariladigan ishlar
}
// Boshqa ipda
synchronized (sharedObject) {
// Holatni o'zgartirish
sharedObject.notify();
}