comp.lang.ada
 help / color / mirror / Atom feed
From: chad.rmeiners@gmail.com (Chad R. Meiners)
Subject: Re: Synchronizing on multiple distinict resources
Date: 10 Aug 2004 11:51:11 -0700
Date: 2004-08-10T11:51:11-07:00	[thread overview]
Message-ID: <782e906e.0408101051.5e122af0@posting.google.com> (raw)
In-Reply-To: v7v0o7xngp1y.15u6pnygwg6id$.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message news:<v7v0o7xngp1y.15u6pnygwg6id$.dlg@40tude.net>...
> Standard pattern is to prioritize resources and to seize them in that
> order.

*nod*  This is what I have had to do in the past.  Fortunately it
seems that I can often design away many cases that at first glance
seem to need to use multiple resources.

> One could also speculate about further Ada extensions towards:

Such speculation would be welcome ;)  For instance I became more
interested in the problem with sychronizing upon multiple resources
after reading a colleague's paper.

http://www.cse.msu.edu/~behrends/universe/fse00.pdf

Which handles multiple synchronizations with synchronization
contracts.

> 1. multiple protected actions / rendezvous (to queue to two chopsticks)

Perhaps something like 

procedure Eat(Left, Right : in out Chop_Stick) is
  Synchronize Left and Right;  -- Exclusive access until end of
procedure
begin
  ...
end Eat;

> 2. extensible protected objects / tasks with multiple inheritance (to
> inherit a pair of chopsticks twice from a chopstick)

Not sure how this would work.

-CRM



  reply	other threads:[~2004-08-10 18:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-02 18:54 Synchronizing on multiple distinict resources Chad R. Meiners
2004-08-02 21:48 ` Jim Rogers
2004-08-03  8:56 ` Dmitry A. Kazakov
2004-08-10 18:51   ` Chad R. Meiners [this message]
2004-08-11 13:52     ` Dmitry A. Kazakov
2004-08-19 22:18       ` Chad R. Meiners
2004-08-20  8:59         ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox