STM Lib is a pragmatic library implementation of software transactional memory (STM) for Java and other JVM languages (such as Scala, Clojure, and Groovy). STM is ideal for applications where data is accessed concurrently by several threads and doesn't have to be persisted in real-time. For example, chat or instant messaging servers, file sharing servers, real time search engines, and massively multiplayer online games or virtual communities. It also works for all kinds of multithreaded programs. STMlib provides transactional collection classes that implement the standard Java APIs. The locking scheme is based on 2 phase locking, which enforces Serializability. Also, transactions are automatically retried when deadlocks occur, so you don't have to.
Open Transactions is a solid, easy-to-use, financial crypto and digital cash library, including an API, server, and test client. It features anonymous numbered accounts, untraceable digital cash, triple-signed receipts, basket currencies, and signed XML contracts. It also supports cheques, invoices, payment plans, markets with trades, and other instruments. It uses OpenSSL and Lucre blinded tokens.
Automated Business Logic (ABL) is a transaction logic engine. You define the behavior of your persistent objects declaratively, and the engine will take care of executing and enforcing your logic at commit time. Despite its simplicity, this approach is remarkably powerful, and can replace a large portion of the code in most transactional applications that use Hibernate.
STMX is a high-performance Common Lisp library for composable Software Transactional Memory (STM), a concurrency control mechanism aimed at making concurrent programming easier to write and understand. Instead of traditional lock-based programming, one programs with atomic memory transactions: if a memory transaction returns normally it is committed. If it signals an error, it is rolled back. 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 committed. This gives freedom from deadlocks, automatic rollback on failure, and aims to resolve the tension between granularity and concurrency.