在閱讀clojure programming後,我有幾個關於參考和原子以及clojure參考類型的問題,而且大多數問題與本書有關。Clojure,原子和參考文獻
第一:
的書說,大約協調,和它說:「協同動作是其中多個參與者必須以獲得正確的結果進行合作。」這是否意味着如果我有3 fn fn1
,fn2
和fn3
,並且它們中的每一個都會執行一些可能會改變參考狀態的操作(假設它發生在每個自己的Thread
中),它在鏈接操作中以同步方式發生?例如,fn1
的輸出是fn2
等的輸入。
二:
我無法理解refs
和atoms
之間的差異。該書說refs
用於協調同步,atoms
用於不協調的同步。它們中的每一個(refs
和atoms
)都有自己的示例,其中atoms
以多功能(1個原子2功能)操作的方式使用,而多個refs
具有1個功能。這本書並沒有舉例說明爲什麼我們不應該或不能以相反的方式去做。