Subj : Re: Memory visibility and MS Interlocked instructions To : comp.programming.threads From : Alexander Terekhov Date : Fri Aug 26 2005 04:09 pm Joe Seigh wrote: ... 1.2 Ordering constraints Perhaps the most contentious aspect of the design of the atomics library has turned out to be the set of ordering constraints. This matters for several reasons: 1. Lock-free algorithms often require very limited and specific constraints on the order in which memory operations become visible to other threads. Even relatively limited constraints such as “release”, may be too broad, and impose unneeded constraints on both the compiler and hardware. 2. Different processors often provide certain very limited constraints at small or no additional cost, where the cost to enforce something like an “acquire” constraint may be more major. [...] 3. As discussed briefly below, adding further constraints appears to significantly complicate the memory model. At the moment, there is no clear consensus Why don't you simply spend your weekend studying the archives, Joe. jupiter.robustserver.com/pipermail/cpp-threads_decadentplace.org.uk regards, alexander. .