W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
當(dāng)且僅當(dāng)原子的當(dāng)前值與原子保持的舊值相同時,以原子方式將atom的值設(shè)置為新值。 返回true如果設(shè)置發(fā)生,否則返回false。
以下是compare-and-set!基本語法:
(compare-and-set! atom-name oldvalue newvalue)
參數(shù) ? 'atom-name'是其值需要重置的Atoms的名稱。 'oldvalue'是Atoms的當(dāng)前舊值。 'newvalue'是需要分配給Atoms的新值。
返回值 ? 只有在正確指定舊值的情況下,才會設(shè)置具有新值的Atoms。
下面的程序是如何使用compare-and-set!的示例。
(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)
以上示例輸出以下結(jié)果:
1 1 3
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: