CL-STM

Protocol prev | up | next | toc Transactions prev | up | next | toc ( defclass transaction ( ) ( ) ) ( defgeneric perform ( transaction ) ( :documentation "Run TRANSACTION atomically with respect to all other threads in a new thread. If the transaction retries, then the thread loops again re-executing the transaction and commiting it to memory. PERFORM returns a thread created by BORDEAUX-THREADS as its value." ) ) ( defgeneric execute ( transaction ) ( :documentation "Execute TRANSACTION and return 3 values. 1. A boolean specifying whether or not the transaction retried. 2. A transaction log of all the changes that occured. 3. A list of values that TRANSACTION returns." ) ) ( defgeneric orelse ( tx1 tx2 ) ( :documentation "Compose two transactions alternatively. ORELSE returns a new transaction. We perform TX1 and if it succeeds then we're done. If it fails then we perf...

Linked on 2015-01-12 22:04:14 | Similar Links