类似于数据库的事务,所有的操作都有log,最后验证其他线程是否对数据进行修改,要是有那么就回滚。然后继续来
下面是Haskell提供的STM操作。
atomically :: STM a -> IO a
retry :: STM a
orElse :: STM a -> STM a -> STM a
newTVar :: a -> STM (TVar a)
readTVar :: TVar a -> STM a
writeTVar :: TVar a -> a -> STM ()
优质内容筛选与推荐>>
1、【区块链】分布式共识算法2、The 11th Zhejiang University Programming Contest - G/ Gaussian Prime3、C++数据类型定义@Baldwin4、IDocHostShowUI5、POJ#3669. Meteor Shower