Sinhronizacija u Javi

Sinhronizacija u Javi

offline
  • kizaPr 
  • Novi MyCity građanin
  • Pridružio: 28 Dec 2008
  • Poruke: 1

Sta znaci synchronized(this) u ovom kodu?

private boolean radi=false;

public void run() {
try {
while(!interrupted()) {
if(!radi) synchronized(this)
{ while(!radi) wait(); }
....
}
} catch(InterruptedException g) {}
}

public void stani() { radi = false; }
public synchronized void kreni() { radi = true; notify(); }
public void zavrsi() { interrupt(); }

Kapiram ja da synchronized blok i synhronized metoda omogucuju da dok se one izvrsavaju nista drugo ne moze da se poziva tj. cekace se da se izvrsi ta metoda(blok) ali opet me zbunjuje ovo synchronized(this)... Jos me interesuje zasto i metoda stani nije synchronized posto menja stanje radi. (u zbirci iz koje vezbam nema tog modifikatora pa kapiram da i ne treba). Iz Jave kapiram vecinu stvari ali ovo me stvarno zbunjuje



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 811 korisnika na forumu :: 54 registrovanih, 7 sakrivenih i 750 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1567 - dana 15 Jul 2016 20:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Acid_Burn, aljosa7, APM70, bobmiskin, bojan1000, boki199777, bulovic, cetka, Danko SVIK VRS, DeerHunter, DENIRO2, Drug pukovnik, Dzoni Stek, gagidjuric, Georgius, gigatron, ikan, ivan24, JOntra2, krkalon, Lancerux, Levi2, Maksim 3, Mala Truba, mean_machine, Mercury, milan op1978, miodrag, mongolac2, mushroom, nele70 2, nelsa, ninoslav1011, Pakito93, Phalcon, powSrb, raketaš, Recce, renoje2, S-lash, Sall, shmele, Sima zna, Srki94, T-72, Tanatos, Toni, Trpe Grozni, vasa.93, VES 11119, vladaa012, vladom6, White Knight, |_MeD_|