@Paul Butcher

I would argue that Clojure's STM implementation is very similar or based on 
the design of Apache CouchDB's Multi-Version Concurrency Model.

1. Immutable by default.
2. You can't corrupt a completed transaction.
3. Conflict resolution essentially gives the previous revision before the 
conflict occured and then gives the latest revision from there on out.
4. Depending on the type of transaction, the transaction will attempt to 
restart on failure

Let me know if this is no longer accurate.

On Monday, December 3, 2012 1:03:53 AM UTC+9, Paul Butcher wrote:
>
> All,
>
> I have a request which I hope the members of this group are uniquely 
> positioned to help with. I have recently started working on a new book for 
> The Pragmatic Programmers with the working title "Seven Concurrency Models 
> in Seven Weeks" (it follows on from their existing "Seven Languages" and 
> "Seven Databases" titles).
>
> One of the approaches that I'll be covering is STM, and I'll be presenting 
> it in Clojure.
>
> What I'd like to solicit are "war stories" about problems you've solved 
> using STM, which demonstrate the strengths of the technique over and above 
> (say) threads and locks.
>
> I'm looking for real-world examples instead of presenting yet another 
> hackneyed atomically-make-a-bank-account-withdrawal :-)
>
> Very many thanks in advance for your help!
>
> --
> paul.butcher->msgCount++
>
> Snetterton, Castle Combe, Cadwell Park...
> Who says I have a one track mind?
>
> http://www.paulbutcher.com/
> LinkedIn: http://www.linkedin.com/in/paulbutcher
> MSN: pa...@paulbutcher.com <javascript:>
> AIM: paulrabutcher
> Skype: paulrabutcher
>  
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to