Sobes.tech
Junior — Middle

Axınlar və sinxronizasiya ilə işləmək üçün Object sinfinin əsas metodları hansılardır?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da, Object sinfi, iplar və sinxronizasiya ilə işləyərkən tez-tez istifadə olunan bir neçə metod təqdim edir:

  • wait() — cari ipin başqa bir ip notify() və ya notifyAll() çağırana qədər gözləməsinə səbəb olur. Müəyyən bir vəziyyəti gözləmək üçün istifadə olunur.

  • notify() — həmin obyektdə gözləyən tək bir ipi oyadır.

  • notifyAll() — həmin obyektdə gözləyən bütün ipləri oyadır.

Bu metodlar sinxronlaşdırılmış blok və ya metod daxilində çağırılmalıdır, əks halda IllegalMonitorStateException atılır.

İstifadə nümunəsi:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // Şərt yerinə yetdikdən sonra ediləcək əməliyyatlar
}

// Digər ipdə
synchronized (sharedObject) {
    // Vəziyyətin dəyişdirilməsi
    sharedObject.notify();
}