Sobes.tech
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 ip notify() yoki notifyAll() 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();
}