[plt-scheme] vectors and threads

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Dec 16 08:09:01 EST 2005

At Thu, 15 Dec 2005 18:07:53 -0800 (PST), Danny Yoo wrote:
> According to Section 7.1 in the MzScheme language manual, all the
> primitives should be kill-safe and suspend-safe:
> 
> http://download.plt-scheme.org/doc/299.400/html/mzscheme/mzscheme-Z-H-
> 7.html#node_chap_7

I'm very happy that you were able to extract information from the
MzScheme manual. :) Still, I've adjusted the wording from "primitives"
to "procedures" so that you don't have to check which functions are
"primitive". I had to add an "Unless otherwise noted" clause, because
`equal?'-based hash tables are not kill-safe.

Meanwhile, I added text to explain that all constant-time procedures
provided by MzScheme are thread-safe, because they are atomic.

So, to confirm the answer to the original question: yes, vector
operations are thread-safe.

Matthew



Posted on the users mailing list.