To give the full story, I should add that atoms are very natural to use and 
many concurrent use cases are covered by them alone. The combination of 
atom and immutable vector/map goes a long way and they are also useful even 
with mutable data, such as lazy-initialized singletons, resources that need 
to be re-acquired after failure, and other similar cases. 

In general I can say that STM transactions of very fine granularity are 
easy to work with because they effortlessly intertwine with mutable data 
and side effects.

On Monday, December 10, 2012 11:39:02 AM UTC+1, Marko Topolnik wrote:
>
> The very fact that there has been no reply to this for five days may mean 
> something. I can personally attest to STM being very difficult to put to 
> real-life use because there is always that one thing you absolutely need 
> for your problem, that is mutable and not transactional. Most of the time 
> it will have to do with an existing Java library, JDK not excluded. The 
> property of STM that it is an all-or-nothing commitment has been a 
> show-stopper for me every time I tried to use it.
>
> My guess is, if your task is something purely computational and amenable 
> to massive parallelization, you may have a go with STM; if it's just about 
> business logic accessible concurrently by many clients, you won't find it 
> workable.
>
>

-- 
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