[racket] just a question of curiosity about thread

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Mar 20 08:02:59 EDT 2015

At Fri, 20 Mar 2015 12:14:14 +0100, Yvan Godin wrote:
> so questions are:
>  Why aren't *Thread* distributed on a pool of *Place* like Erlang do for
> it's own  *Process* (for scalability) ?
> Is there a technical reason for that ?
> Is it difficult to do ?
> Are the Thread Mailboxes able to send/receive (immutable) messages across
> Places ?

Different threads can share arbitrary values, including mutable
objects. Different places cannot share anything (except for some
specific kinds of atomic-data vectors). So, moving a thread from one
place to another is difficult in general, because starting the thread
on a different place would change the kinds of values that it can share
with other threads.

Threads can send and receive place-style messages within a single
place. Across multiple places, though, a thread handle is not one of
the things that can be sent across a place channel; threads in
different places exchange messages only across a place channel.


Posted on the users mailing list.