2012-10-22 64 views
4

我需要一個映射,需要防範併發資源,ref類型適合我的情況。
現在我需要一個「生存時間」政策來刪除我的代碼可能忘記刪除的潛在條目。
我檢查了​​但我真的不確定它是否安全,因爲要用ref類型來保護數據結構。使用由ref類型保護的Clojure core.cache是​​否安全?

我更喜歡純粹的Clojure解決方案,但如果事情會變得複雜,您會提出另一種方法嗎?例如Google Guava?

+0

你能解釋一下「防範併發資源?」的意思嗎? – noahlz

+0

@noahz我有一個將被許多線程使用和更新的地圖。共享資源 – Chiron

+0

好吧,關於「我不確定它是否安全,因爲數據結構需要使用ref類型來保護」。你有什麼特別的顧慮? – noahlz

回答

6

core.cache TTL實現是不可變的,不會改變。併發保證是封閉引用類型的保證。值得注意的是,緩存是以某種方式使用的(協議),在core.cache wiki上有描述。

+0

非常感謝!能得到你的回覆真是太榮幸了。 – Chiron

相關問題