STM in Haskell

Software Transactional Memory,软件事务内存管理(应该是这么翻译的吧T_T)
类似于数据库的事务,所有的操作都有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 ()
 
原文地址:https://www.cnblogs.com/x1957/p/3167008.html