Concurrent Futures

Rob Withers reefedjib at yahoo.com
Sun Oct 28 13:56:57 UTC 2007


----- Original Message ----- 
From: "Ralph Johnson" <johnson at cs.uiuc.edu>


> On 10/28/07, Rob Withers <reefedjib at yahoo.com> wrote:
>> There is no danger of deadlock.  It is impossible, since there are no
>> Semaphores.
>
> This does not compute.  It is like saying "There is no danger of
> murder, since there are no guns."  There are many ways of having
> deadlock without semaphores.  Deadlock is possible in an asynchronous
> messaging system.  An algorithm might be waiting for an event that
> will never occur.

My assumption is that the only mechanism of waiting is using a semaphore. 
Is this incorrect?

I know that E talks about converting control flow problems into data flow 
problems, using the continuation passing style, and that deadlocks go away 
but datalocks become possible.  It seems to me that an algorithm pending an 
event is in a datalock situation.

> I think the real answer is that there is no way to have a deadlock,
> because there is no way to wait.

This is a clearer way of stating it.

Rob




More information about the Squeak-dev mailing list