tvar

    0熱度

    1回答

    我使用哈斯克爾交易變量,我在一個函數實例,並在列表收集和我給另一個函數寫在值: step player ghosts info = do let unblocked = allPaths (source info) (target info) (graph info) buff <- atomically $ newTVar [[]] atomically

    1熱度

    2回答

    我是Haskell和STM的新手,我試圖理解基本概念。 在Haskell和函數式編程中,如果我錯了,請糾正我,沒有像賦值這樣的事情。 我不能寫x=3;我所能做的就是生成與x和3的其他綁定。 現在談到TVar和線程時,如果我有多個線程共享相同的TVar,如果一個線程更改了值,使用writeTVar,其他線程會看到更改的值,對嗎? 所以如果我有2個線程共享相同的TVar Int var,並且第一個給它

    3熱度

    1回答

    通過Simon Peyton Jones併發例如工作的價值,我有以下代碼: import Control.Concurrent.STM import Control.Concurrent.STM.TVar deposit account amount = do bal <- readTVar account writeTVar account (bal+amount)