368 reputation
28
bio website
location Munich, Germany
age 28
visits member for 1 year, 7 months
seen Jun 13 at 9:37

Programmer at Realmforge Studios mostly doing engine and graphics programming.


Dec
10
awarded  Editor
Dec
10
revised Difference between Atomic Operation and Thread Safety?
Clearer question related answer.
Dec
10
comment Difference between Atomic Operation and Thread Safety?
And yes, writing one of these atomic data types in c# is thread safe, but that does not make the function you use them in thread safe. It only ensures that the single write is correctly executed even if a second thread accesses it "at the same time". Never the less, the next read from the current thread is not ensured to get the value previously written as a different thread might have written to it, only that the value read is valid.
Dec
10
comment Difference between Atomic Operation and Thread Safety?
@user960567 please note that that thread only relates to C# which ensures some operations to be atomic by using atomic operations and correct memory alignment internally.
Dec
10
comment Difference between Atomic Operation and Thread Safety?
None of those is ensured to be atomic on all platforms. You can use platform/compiler dependent methods like InterlockedIncrement or the new std::atomic of c++11. Even setting an integer can cause garbage when it is not aligned to the cache lines of your processor as two operations can result in one part getting written from one write and the other part from the other write, at least on PPC.
Dec
10
awarded  Teacher
Dec
10
answered Difference between Atomic Operation and Thread Safety?