clojure并发

clojure并发学习

1: ref 抽象协调的、同步的可变状态, 利用STM来实现

   创建一个ref
   (def r (ref {}))
  
   用引ref的值 @f 或 (deref f)

   改变ref的值
   alter, commute, ref-set ensure

2: agent抽象协调的,异步的单个可表状态

   send, send-off

3: atom表示共享的、同步的独立的状态,不需要协调

   swap!, compare-and-set

4:var抽象单个线程下的可变,所有线程共享同一个根的状态

创建一个var
(def v "")

线程局部绑定
(binding [ v 1]
   v)

clojure function store var

你可能感兴趣的:(F#)