Someone say the basic idea behind transactional memory is that memory is shared by all the threads in a read-only manner. Threads modify data by "committing" objects to shared memory. If a thread commits on top of a dirty object then it has to "rollback" and retry. http://research.sun.com/spotlight/2007/2007-08-13_transactional_memory.html http://www.hpcwire.com/hpc/1196095.html