Sobes.tech
Junior — Middle

Kādi ir galvenie Object klases metodes, kas tiek izmantotas plūsmu un sinhronizācijas darbā?

sobes.tech AI

Atbilde no AI

Java valodā klases Object metodes bieži tiek izmantotas darbā ar pavedieniem un sinhronizāciju:

  • wait() — padara pašreizējo pavedienu gaidīt, līdz cits pavediens izsauks notify() vai notifyAll() tajā pašā objektā. To izmanto, lai organizētu gaidīšanu uz noteiktu stāvokli.

  • notify() — pamodina vienu pavedienu, kas gaida uz šī objekta.

  • notifyAll() — pamodina visus pavedienus, kas gaida uz šī objekta.

Šīs metodes jāizsauc sinhronizētā blokā vai metodē, pretējā gadījumā tiks iemesta IllegalMonitorStateException.

Piemērs:

synchronized (sharedObject) {
    while (!condition) {
        sharedObject.wait();
    }
    // Darbības pēc nosacījuma izpildes
}

// Citā pavedienā
synchronized (sharedObject) {
    // Stāvokļa maiņa
    sharedObject.notify();
}