»
January 18, 2009
»

libkern/OSAtomic.h

// 1st -- non atomic
count++;

// 2nd -- atomic add
OSAtomicAdd32Barrier(1, &count);

// 3rd -- compare and swap
bool success;
do {
    int old = count;
    success = OSAtomicCompareAndSwap32Barrier(old, old + 1, &count);
} while(!success);

This is reblog from my older blog @ tumblr.

 
Internet Explorer 6
Are you serious?