stm-stats-0.1.0.0: Demo.hs
import Control.Concurrent
import Control.Concurrent.STM
import Control.Monad
import Control.Concurrent.STM.Stats
main = do
var <- trackSTM $ newTVar 0
forkIO $ forM_ [1..23] $ \i -> do
threadDelay (100*1000)
trackNamedSTM "writer" $ writeTVar var i
putStrLn "Starting reader..."
trackNamedSTM "reader" $ do
i <- readTVar var
when (i < 23) retry
putStrLn "Reader finished."
dumpSTMStats