compare-and-set!
优质
小牛编辑
131浏览
2023-12-01
当且仅当原子的当前值与原子持有的旧值相同时,原子上将atom的值设置为新值。 如果set发生则返回true,否则返回false。
语法 (Syntax)
以下是语法。
(compare-and-set! atom-name oldvalue newvalue)
Parameters - 'atom-name'是需要重置其值的atom的名称。 'oldvalue'是原子的当前旧值。 'newvalue'是需要分配给atom的新值。
Return Value - 仅当正确指定旧值时,才会设置具有新值的原子。
例子 (Example)
以下程序显示了如何使用它的示例。
(ns clojure.examples.example
(:gen-class))
(defn example []
(def myatom (atom 1))
(println @myatom)
(compare-and-set! myatom 0 3)
(println @myatom)
(compare-and-set! myatom 1 3)
(println @myatom))
(example)
输出 (Output)
上述程序将产生以下输出。
1
1
3