ACID
A transaction is an action that has the properties Atomicity, Consistency, Isolation, and Durability (ACID). Except for durability, all properties hold for transactional memory in C++.
- Atomicity: either all or no statement of the block is performed.
- Consistency: the system is always in a consistent state. All transactions build a total order.
- Isolation: each transaction runs in complete isolation from the other transactions.
- Durability a transaction is recorded.