concurrent smalltalk (was: self syntax)
Jecel Assumpcao Jr
jecel at merlintec.com
Fri Aug 24 18:52:12 UTC 2001
On Thursday 23 August 2001 20:13, Rick wrote:
> Is this the work that had led to Muse and to Aperios?
The same people were responsible, but I don't think the projects were
very related. In particular, Mario and friends had the silly notion
that C++ was good enough for this kind of thing. I hope they have
learned their lesson ( see paper 11, "Cognac:...", in
http://www.csl.sony.co.jp/project/Apertos/techpaper.html ).
And Rob wrote:
> Super. Thank you for the links. I have some reading to do, as I am
> confused about the fourth concurrent operation from Yokote's work.
> (async send, async receive, return, and acknowledge) I don't
> understand the use of acknowledge as a primitive operation.
This is from memory, so don't trust me on this. Acknowledges were
expressions starting with a double up arrow, right?
In a system like QNX you have SYNC SEND, SYNC RECEIVE and REPLY. The
client software just SENDs, while the server is in a loop explicitly
RECEIVEing and REPLYing. As soon as it REPLYs (sorry about the bad
English) it allows the client to continue execution while in parallel
it can continue doing things until the next RECEIVE.
In CST a client can block or not (SYNC SEND, ASYNC SEND) but the server
does not explicitly receive the messages. Instead, every time it
finishes executing the previous method (return or REPLY) it implicitly
waits for the next message. But what if you have things to do after
calculating the final result (so the client could continue if it was
blocked on a SYNC SEND)? In that case you use an ACKNOWLEDGE in the
middle of the method instead of REPLY in the final statement in order
to return the value.
If it was not like this, then it was something equally interesting ;-)
-- Jecel
More information about the Squeak-dev
mailing list
|