At Fri, 22 Mar 2019 08:21:15 -0400, George Neuner wrote:
> At present, any update (set!) of a box, an mcons, or a struct field is 
> atomic WRT threads - the *current* Racket virtual machine will not 
> permit a thread switch while these things are happening.  Going forward 
> things might change with the move to Racket-on-Chez, so best always to 
> use deliberate synchronization when you mutate shared data.

While I agree with the recommendation to use synchronization
constructs, I'd like to clarify that this guarantee --- and the
stronger one about sequential consistency --- will not change with
respect to the notion of "thread" that is provided by the `thread`
function.

The guarantee of sequential consistency currently doesn't apply to
Racket's futures or mutation of shared byte strings across Racket's
places. It's possible that future versions of Racket will have
additional concurrency constructs without sequential consistency, but
we won't use the word "thread" for any such construct.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to