OK, let me try to be more helpful. Here's good backgrounders
http://www.tbray.org/ongoing/What/Technology/Concurrency/
http://www.sauria.com/blog/2009/10/05/the-cambrian-period-of...
http://groups.google.com/group/clojure/browse_thread/thread/...
http://blogs.azulsystems.com/cliff/2008/09/jvm-language-su.h...
http://wiki.jvmlangsummit.com/pdf/36_Click_fastbcs.pdf
---------------------
also recommended: Herlihy/Shavit book, blogs by Sutter and Duffy,
http://www.amazon.com/Art-Multiprocessor-Programming-Maurice...
Hey -- very good questions. This article was a broad overview, and I wanted to get across the fundamental "physics" of concurrency more than specific solutions. Where I talked about solutions it was to illustrate how those principles operate.
I'm also not actually that knowledgeable about concurrency so I didn't want to say anything stupid. :D I'm more journalist than expert.
I've gotten many responses like yours, though. This subject probably deserves another round of research and a follow-on article or two.
Thanks!
- erlang: R14 and somehting like Memory management threads
http://groups.google.com/group/ceug/browse_frm/thread/28375b...
- scala: lots: Akka, scalaz, lift threads, STM, Bagwell's data structures
- clojure: special purpose mutability: transients will be old hat, Hickey's working on "cells", (lately he's been coding reify/deftype/defrecord)
- F#: lots, I haven't been tracking, and i just saw the cheapest Vis studio 2010 is $800(?!)
- haskell (GHC) CHP's, STM, lots other stuff
(Suppose i oughter blog about)