Asynchronous Messaging

Stephen Pair spair at advantive.com
Fri Jun 11 23:27:05 UTC 1999


A week or two ago there was a lengthy discussion on the topic of coroutines
vs. sub-routines that peaked my interest quite a bit.  To educate myself a
little more on the topic, I wrote a small asynchronous messaging capability.
Basically, each object has a message queue, and each method context has an
answer queue.  Multiple answers can be passed back to a sender through this
answer queue.  Messages can be sent synchronously, asynchrounsly, or queued
asynchronously.  The interesting thing to me is that it seems like the whole
notion of processes could go away, leaving only method (or block) contexts
to be scheduled.  Also of interest is the notion that a stack architecture
really only handles the specialized case of a synchronous message send.  I
believe these things we're discussed at length in the previous thread.

Anyway, I had fun exploring the topic and thought I'd share the code...I'd
be curious to know more about how the Smalltalk-72 system worked.

The change set is at http://www.advantive.com/squeak

- Stephen





More information about the Squeak-dev mailing list