STMX
High-performance transactional memory for Common Lisp
...Memory transactions can safely run in parallel in different threads, are re-executed from the beginning in case of conflicts or if consistent reads cannot be guaranteed, and effects of a transaction are not visible from other threads until it commits.
STMX gives freedom from deadlocks, automatic rollback on failure, and it aims at resolving the tension between granularity and concurrency.