Does Racket support multithreading? Does Racket support multithreading? multithreading multithreading

Does Racket support multithreading?


Don't do that.

Racket does provide parallelism via futures and places, but they do not provide (unrestricted) shared memory spaces. If you want to send data from one thread to another, use a place channel.

As Greg Hendershott points out, you can send a shared vector via a place channel, which provides a shared space to use. (But that's not the same thing as sharing all the memory references, which is what someone familiar with, say, Java-style threading might expect. And the latter is what my "don't do that" refers to.)

If you really want to use pthread-like threading, Guile does provide them, but then you won't be using Racket any more. ;-)