(http://www.hpl.hp.com/techreports/2009/HPL-2009-259html.html)[Threads Basics], by Hans-J. Boehm.
Memory Models: A Case for Rethinking Parallel Languages and Hardware(http://cacm.acm.org/magazines/2010/8/96610-memory-models-a-case-for-rethinking-parallel-languages-and-hardware/fulltext), by Sarita V. Adve and Hans-J. Boehm, Commun. ACM53(8): 90-101.
For further reading on compare and swap (optional)