Clojure เป็นภาษาในตระกูล Lisp ที่อายุเพิ่งได้ 16 ปี ทำให้คิดเรื่อง concurrency มาแล้วเป็นอย่างดี ไม่ได้เป็นแค่ระบบ lock และแก้ state ปัญหาของระบบที่ lock และมาแก้ state เอาอย่างแรกคือมันเหนื่อย และอาจจะพลาดได้ บางทีคนเขียนอาจจะไม่ได้เข้าใจเลย เวลามันพังจะเป็นแบบรันได้บ้างไม่ได้บ้างทำให้งงไปใหญ่
Clojure ตัดปัญหาแต่แรกเลยว่า data structure ที่ใช้เป็นแบบ persistent/immutable แต่แรก ดังนั้นโอกาสที่จะไปแก้ตัวแปรเดียวกันจากหลาย ๆ thread โดยที่ไม่ได้คิดอะไร มันทำไม่ได้แต่แรก
ส่วนถ้าอยากให้แก้ค่ากันได้ระหว่าง thread ก็ต้องใช้คำสั่งพิเศษ