I understand usage of volatiles are dangerous via vswap! but what about creation? Again relating to what you said, 'I asked Rich and he said "making a volatile is as dangerous as any ! op".'
On Wednesday, September 10, 2014 10:19:33 AM UTC-4, Alex Miller wrote: > > Usually that's called "visibility". > > Atoms are *not* subject to race conditions if swap! is called from > multiple threads (the state of the atom will not change while the update > function is being applied). The atom is thus "safe" to be used from > multiple threads. > > Volatiles *are* subject to race conditions with vswap! is called from > multiple threads (the state of the volatile may change while the update > function is being applied). The volatile is thus "dangerous" and safety is > derived from how it's used. > > On Wednesday, September 10, 2014 8:44:27 AM UTC-5, Brent Millare wrote: >> >> When I say synchronization, I specifically mean "writes are guaranteed to >> be seen by subsequent reads on any thread*" *as Alex said. >> >> On Wednesday, September 10, 2014 9:37:09 AM UTC-4, Brent Millare wrote: >>> >>> So to summarize, Clojure's volatile provides synchronization across >>> threads but does not provide atomaticity with vswap!. So, as a follow up >>> question, then why would the creation of a volatile be "dangerous" but >>> creating an atom isn't? (Hence the exclamation point in the name >>> "volatile!") >>> >> -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.