前端之家收集整理的这篇文章主要介绍了
多线程 – 同步计数器在clojure,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我想保留一个全局计数器(例如,计算跨多个线程的传入请求数),那么在
java中最好的方式是使用volatile int.假设使用clojure是否有更好的(更好的吞吐量)方式?
我会在Clojure中用
atom做这个:
(def counter (atom 0N))
;; increment the counter
(swap! counter inc)
;; read the counter
@counter
=> 1
这是完全线程安全的,令人惊讶的高性能.此外,由于它使用Clojure的精确数字处理,所以它不容易受到整数溢出的影响,因为volatile int可以是…..
原文链接:https://www.f2er.com/java/123928.html