STM.NET
Home Page
Categories: Miscellaneous
Author: Microsoft
Latest version: 1.0
Added 2009-07-28
Experimental enhanced version of .NET Framework 4 Beta 1 that enables software transactional memory for C# programmers.
Transactional memory is a technology that frees developers from worrying about the mechanics of fine-grained locking and synchronization in multi-threaded applications by providing transactional semantics for reading and writing to memory. It enables developers to focus on application logic instead of the details of memory I/O when building multi-core and many-core programs.
STM.NET makes it easy to declare a region of code as atomic. Simply write a function or lambda containing the code that you'd like to transact and pass it to the Atomic.Do delegate. Just like SQL code in a database transaction, this block of code will run as if isolated from other transacted blocks and either it completes successfully or rolls back the complete transaction if there is an error, all without you having to explicitly lock anything.
Features include:
- integration with System.Transactions so you can coordinate your atomic memory operations with existing transactional resource managers like MSMQ
- integration with Visual Studio 2008: works with Visual Studio's debugger to allow you to see the values of transacted variables as they appear while running inside the Atomic.Do delegate as well as their values as they appear outside.
 Built for .NET 2 |
 Free or free version available |