gpt4 book ai didi

transactions - 在 Clojure 中计算中止的事务

转载 作者:行者123 更新时间:2023-12-02 10:47:06 24 4
gpt4 key购买 nike

我想分析 Clojure 程序与 C 语言锁定版本的行为。我想跟踪的一个指标是 Clojure 程序中止事务的总数。

唯一的问题是我无法在我所在的事务上下文之外改变变量。我想做的是:

(dosync
(try
(alter my_num inc)
(catch Throwable t
(do
(alter total_aborts inc)
(println "Caught " (.getClass t))
(throw t)))))

当然,如果事务没有完成,total_aborts将永远不会增加!那么我该怎么做呢?谢谢!

最佳答案

您可以设置 my-numtotal-aborts atoms并使用 swap! 而不是 alter

关于transactions - 在 Clojure 中计算中止的事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8125258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com