( saxus | 2012. 02. 29., sze – 20:33 )

Már hogy ne fordulhatna elő: egy a = b az két művelet: egyszer betöltünk egy értéket a memóriából egy regiszterbe, majd utána visszaírunk. Na most ha pont akkor vált az olvasó thread, mikor kiolvasta, de még nem írta vissza és míg az olvasó thread és azalatt frissíti az író thread, már van különbség. Az más kérdés, hogy egy ilyen szoftvernél ez kb. elhanyagolható időbeli késleltetés.

De amúgy ki lehet próbálni: el kell indítani ugyanazon a változón (még csak nem is kell globálisnak lennie, egy osztály helyi adattagja is simán jó erre, mert végső soron a memória egy nagy egész) is, ha elindítunk egy threaden egy i-- -t, egy másikon egy i++-t, jó eséllyel el fog mászni 0-tól.

----------------
Lvl86 Troll