Robert Ennals's Software Transactional Memory Should Not Be Obstruction-Free is definitely unstupid and worth reading. Same with Dave Dice, Ori Shalev, and Nir Shavit's paper on Transactional Locking II. Survey says? Holy damn. Use "per object transaction locking" models where possible and avoid the use of pthread_mutex_lock*, pthread_rwlock_rdlock*, and pthread_rwlock_wrlock* where possible. STM makes pthreads* the new fail. For some idiotic reason, I was thinking/hoping that rwlock's would suck less than they apparently do. CAS? Eh, not quite worth the hassle yet.