이 코드는 http://www.learningclojure.com/2010/11/yet-another-way-to-write-factorial.html에 있지만, pop-task가 threadsafe가되어야하는 경우/이해하지 못합니다. 같은 머리를 두 번 돌려주는 것을 허용하지 않습니까?클로저에 쓰레드 안전 팝?
(DEF 할 일 목록 (원자 '()))
(defn이 추가 작업! [t] (스왑! 할 일 목록 # (단점 t %)))
(defn이 팝업 h])
만약 그렇다면, 원자를 계속 사용하고 피크를 쓰는 것이 가능합니까? (예 : [h (첫 번째 할 일 목록) 그리고 스왑! 원자 적으로, 또는 이것이 ref 메커니즘의 일입니까?
-
두 가지 좋은 답변에 감사드립니다.
할 일 목록에 더 복잡한 구조가 있고 특정 키에 대한 업데이트가 필요한지 궁금합니다. – Rustem