如何解决更改和引用集都会更新Clojure中的STM树吗?
| 我在Clojure代码中到处都使用了引用,然后我意识到到处都使用了ref-set
。这会破坏STM的变更历史吗?还是我应该只使用alter
和ѭ0in初始化引用?
我不确定这是否只是语法上的差异,而alter
最终还是会调用ref-set
。有人可以启发我吗?
解决方法
(alter aref f arg1 ... argn)
基本上和
(ref-set aref (f @aref arg1 ... argn))
对于具有reset!
和swap!
的原子也是如此。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。