.net 4.0 跨内存中对象的事务行为

.net 4.0 跨内存中对象的事务行为,.net-4.0,transactions,.net 4.0,Transactions,我想让一系列的内存操作原子化。我假设没有框架提供的功能,我必须使用memento(或其他什么)实现我自己的回滚功能?如果它需要真正的原子化,那么框架本身就没有这样的东西 您提出的问题称为STM(软件事务内存),是Haskell的固有部分 基本上,任何实现都使用某种复制技术——要么保留旧数据直到事务提交,要么先复制,然后对副本进行所有“更改”,并在提交时切换引用。。。无论如何,总是涉及一些日志和/或复制机制 有关C#请查看以下链接: 如果F#是一个选项,请查看以下链接: 另一种选

我想让一系列的内存操作原子化。我假设没有框架提供的功能,我必须使用memento(或其他什么)实现我自己的回滚功能?

如果它需要真正的原子化,那么框架本身就没有这样的东西

您提出的问题称为STM(软件事务内存),是Haskell的固有部分

基本上,任何实现都使用某种复制技术——要么保留旧数据直到事务提交,要么先复制,然后对副本进行所有“更改”,并在提交时切换引用。。。无论如何,总是涉及一些日志和/或复制机制

有关C#请查看以下链接:

如果F#是一个选项,请查看以下链接:

另一种选择是使用“内存中的数据库”——有几个数据库提供事务支持,从而通过数据库提供原子操作。。。只要数据库“在内存中”,它就应该运行良好