Software Transactional Memory (STM) — это альтернатива блокировкам и другим традиционным механизмам синхронизации асинхронных операций и потоков при доступе к общему участку памяти. Механизм STM похож на работу транзакций в современных СУБД и, хотя его использование в общем случае медленнее использования механизма блокировок, STM предлагает разработчику более простой способ управления параллельными вычислениями.
Использование STM в .NET крайне просто:
Atomic.Do(()=> {
});
где statements — это выражение которое должно выполняться в транзакции.
вообщем, выглядит интересным... Оффсайт - тут.