在clojure中线程局部变量

sqw*_*ale 2 java multithreading clojure thread-local thread-local-storage

  1. 没有其他原因,我有很多其他自定义库,我已编写在1.1上运行.

我需要一种直接的方式来获得线程局部变量很多我看到的方法与这个版本的clojure不兼容.

在这个例子中看到

例如(thread-local(atom 0)))

(def ^ {:dynamic true} counter)

似乎不适合我

所以我只需指出正确的方向.

vem*_*emv 5

那是一堂课!

user=> (def local (ThreadLocal.))
#'user/local
user=> (.set local 3)
nil
user=> (.get local)
3
Run Code Online (Sandbox Code Playgroud)

  • 使用它来设置初始值 3 `(def local (proxy [ThreadLocal] [] (initialValue [] 3)))` (2认同)