Multi-thread Question in Morph?

Lex Spoon lex at cc.gatech.edu
Sat Jan 31 23:07:48 UTC 2004


ducasse <ducasse at iam.unibe.ch> wrote:
> Yes I see that :). Naively I was thinking that Morphic was more  
> concurrent.

I haven't followed the ins and outs, but please notice that Morphic
*intentionally* will not call a #step method that is already executing. 
It waits until the previous execution to finish before calling the next
one.

It used to not do this, and if your #step raised an error then you could
get cascading pre-debug windows popping up on your screen. 
Additionally, a major advantage to using #step is that you do not need
to handle any synhcronization, because you know that everything is
sitting still while you execute.  If step was to become reentrant then
this would no longer be true.

So, it would be more Morphic-friendly to find some way to set aside a
blocked pseudo-process.  If one of your bots tries to dereference a
promise that is not yet fulfilled, then suspend that bot somehow, and
arrange for it to wake back up when the promise is  fulfilled.


-Lex



More information about the Squeak-dev mailing list