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.

Reply via email to