C# atom 引用类型等效于 clojure atom

C# atom reference type equivalent to clojure atom

是否有 C# BCL 等同于 Clojure 原子,例如 Atom<T> 为引用类型 T 提供原子 swap/reset 语义? .NET 有不可变的集合,所以我可以看到使用这个 class 就像在 Clojure 中一样。

C# 有 Interlocked class:

https://msdn.microsoft.com/en-us/library/system.threading.interlocked(v=vs.110).aspx

你可以用 Interlocked.CompareExchange 一般交换:

https://msdn.microsoft.com/en-us/library/bb297966(v=vs.110).aspx