Mislim da niste bas 100% skopcali sta je volatile field a isto se moze lako videti iz vb.net implementacije, volatile znaci samo da je SVE sto je sekvencijalno upisano u memoriju pre volatile polja sigurno i uslo u memoriju PRE volatile polja, sto ima smisla ako i samo ako koristis volatile polje za sinhronizaciju threadova (sto bobby radi) pa hoces da se osiguras da je sve ono sto je uradjeno PRE signalovanja "Vrednost" polja vec u memoriji da drugi thread moze da ga procita.
Dakle, volatile nije bio problem ovde jer je polje vrednost sasvim sigurno bilo promenjeno (i nikakav doevents mehanizam nije ukljucen u tu pricu, doevent zoves u glavnom threadu da ti aplikacija ne bi postala unresponsive). ja bih ti inace toplo preporucio da ne radih sinhronizaciju threadova kroz volatiole polja, cak i u najgrdjoj varijanti sa signalizacijom flegovima bolje koristi lock() tj critical sections. To sto volatile int kod tebe radi kao efektivna interlocked operacija ne znaci da ce isto raditi na svim platformama (npr 16bit). Bila je poprilicna tema oko ovoga na AoP.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić