LibCMT 0.1.0 review
DownloadLibCMT is a library implementing the ideas given on Simon Peyton Jones at the paper "Composable Memory Transactions", which uses a ST
|
|
LibCMT is a library implementing the ideas given on Simon Peyton Jones at the paper "Composable Memory Transactions", which uses a STM model where transactions has the possibility to be composed together.
- The two distinctive characteristics of this approach to concurrency are:
- The model is deadlock free.
- The transactions are composable.
Being composable means that if two transactions are correct (from the point of view of concurrency), they can be glued together to form another transaction, and this transaction is correct (from the point of view of concurrency) without any extra effort. On the LibCMT's model this is true even on the presence of blocking transactions.
There are two types of composition available: by sequence and by 'orElse' alternative (where the second transaction is run if the first blocks, allowing to wait for many things at once).
Any number of transactions can be composed on any order, and any of them can block, and the model guarantees there is no deadlock nor livelock nor priority inversion.
What's New in This Release:
A C# binding was added.
LibCMT can now be used within the .Net framework.
A solution to the producers-consumers problem was added to the C examples.
LibCMT 0.1.0 keywords