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