title: Is Clojure lockfree by using lockfree algorithms?
body: <p>I'm progressing in my Clojure quest (about 80 problems solved on 4clojure.com) and I keep on reading and coding and trying to "get it".</p>
  
  <p>Now I'm a bit confused by Clojure being designed for "lockless concurrency".  I know all too well about deadlocks (as in: <em>"I've written poor Java code that ended up in deadlocks"</em>, not as in <em>"I'm in expert in concurrency"</em>).  I've also read this:</p>
  
  <p><a href="https://stackoverflow.com/questions/1360729/why-is-lockless-concurrency-such-a-big-deal-in-clojure">Why is lockless concurrency such a big deal (in Clojure)?</a></p>
  
  <p>I realize how great it is that Clojure programs cannot deadlock.</p>
  
  <p>But I'm a bit confused: is such a feat achieved by implementing under the hood lockfree algorithms or are there potentially "deadlockable" algorithms used, but using a correct implementation guaranteed never to deadlock (that would somehow be "hidden" to Clojure programmers)?</p>
  
  <p>There's been a recent discussion on hacker news about lockfree algorithms:</p>
  
  <p><a href="http://news.ycombinator.com/item?id=4103921" rel="nofollow noreferrer">http://news.ycombinator.com/item?id=4103921</a></p>
  
  <p>referencing the following <em>"Lock-free algorithms"</em> page on <em>1024cores.net</em>:</p>
  
  <p><a href="http://www.1024cores.net/home/lock-free-algorithms" rel="nofollow noreferrer">http://www.1024cores.net/home/lock-free-algorithms</a></p>
  
  <p>I don't understand the relation between this article and how concurrency works under Clojure.</p>
  
  <p>And it got me totally confused: when I'm developing concurrent programs in Clojure, does it mean "locks and lock-free algorithms" are a non-issue for me?</p>