There is a difference between having limitations and not being applicable. The movement of cars through a road intersection is a metaphor for processes that simultaneously want to change a resource. The traffic signal is there to hinder these cars to crash, i.e. to make changes in an uncontrolled way. In an STM there is also a control mechanism, but the responsibility is on the process instead of on a mechanism that locks the resource.
In the case of a junction without traffic lights, it would be like going at full speed through the intersection without checking to see if and how you can drive through - like in the movie. If you crash, i.e. another process has made changes to the resource, you roll back and try again. There is no intelligence on the part of the processes. If the movie would show drivers crash and then pulled out by tow trucks, be given a new car, go full speed through the junction again, then we'd have a nice analogy, and a movie from the 70's. Also, in the case of STM in Clojure, the resources don't change, instead identities will point to different values at different moments in time. Maybe a piece of film strip would somehow help for a better metaphor. On 17 Okt, 15:07, Sam Aaron <samaa...@gmail.com> wrote: > On 17 Oct 2010, at 8.54 am, michele wrote: > > > > > Well, there are intelligent beings with the ability to make decisions > > entering the traffic junction, not exactly the same as with the STM. > > Of course, all analogies have their limitations; I wasn't proposing this as a > perfect model, just something that gave me some insight. Out of interest, > what analogies do you use to conceptualise the STM? > > Sam > > ---http://sam.aaron.name -- 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