Quote Originally Posted by Mirage
cronodragon: EnterCriticalSection()/TryEnterCriticalSection()?
"Waits for ownership of the specified critical section object. The function returns when the calling thread is granted ownership.... The threads of a single process can use a critical section object for mutual-exclusion synchronization"

I'm not sure that is the same as this:

"...atomic primitives that the hardware must provide..."

Critical sections are implemented by the system, while atomic primitives are implemented in the hardware, right? :? It seems they do a similar effect, but the idea is that lock-free is only ONE atomic operation, that means speed.