Ann: Stackless Limbo Dancing Works Fine!

Andrew Henshaw andrew.henshaw at mail.com
Thu May 23 23:31:25 EDT 2002


Fernando Pereira wrote:

> On 5/21/02 12:07 AM, in article ueji35ihipuee3 at corp.supernews.com, "Andrew
> Henshaw" <andrew.henshaw at mail.com> wrote:
>> An Occam channel is very simple and was implemented efficiently in the
>> Transputer's microcode.  I suspect that having only a single transmitting
>> process and a single receiving process simplifies that task.  As I said
>> before, I believe that this holds for CSP also.
> I can't find my CSP book, but from memory I don't think this is correct.
> Through || (PAR), it is possible for several concurrent processes to
> attempt to read or to write on the same channel. Then the channel
> implementation needs a queue to hold all the blocked processes until a
> complementary event occurs, at which point one of the pending requests is
> matched to the event and the blocked process becomes runable.

I believe that my statement was correct.  From a 1985 version of 
Communicating Sequential Processes (p. 134):

"We shall observe the convention that channels are used for communication 
in only one direction and between only two processes.  A channel which is 
used only for output by a process will be called an output channel of that 
process; and one used only for input will be called an input channel.  In 
both cases, we shall say loosely that the channel name is a member of the 
alphabet of the process."


>>  The main difference
>> between CSP and Occam channels is the ability of an ALT-type construct to
>> know whether a receiving process on the other end of a channel is ready
>> to
>> receive (called an output guard, IIRC).  In Occam, if you're a
>> transmitting process, you can't simply check whether a receiver is ready
>> to go; you have to commit to your send and then the communication either
>> completes or you block.
> The critical difference is not any ALT-type construct, but the fact that
> the same channel can be shared among multiple concurrent readers and
> writers.
> 

As above.  

> BTW, you might find useful some of the materials on JCSP
> 
> http://www.cs.ukc.ac.uk/projects/ofa/jcsp/
> 
> -- F

Thanks for the reference!

Sincerely,

Andy Henshaw




More information about the Python-list mailing list