【问题标题】:Haskell: TVar: orElseHaskell: TVar: orElse
【发布时间】:2012-04-11 06:35:44
【问题描述】:

orElse 的“else”部分是在由于另一个事务写入已读取的TVar 而重试事务时调用,还是仅在显式调用retry 时调用?

【问题讨论】:

    标签: haskell concurrency ghc stm tvar


    【解决方案1】:

    如果你有

    或者其他 a b

    然后b 仅在retrya 中被显式调用时运行。否则orElse 基本上会变得不确定。 (由 STM 运行时完成的事务重新运行是透明的,不应影响任何计算的结果。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      相关资源
      最近更新 更多