Perhaps me means dangerous as in it shouldn't be done causually, and that it could become a problematic habit if formed.
On Wed, Sep 10, 2014 at 8:55 PM, Brent Millare <brent.mill...@gmail.com> wrote: > 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. -- 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.