comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: multiple delay alternative
Date: Tue, 6 Mar 2018 12:18:13 +0100
Date: 2018-03-06T12:18:13+01:00	[thread overview]
Message-ID: <p7ltdk$1vph$1@gioia.aioe.org> (raw)
In-Reply-To: f45a63fc-f990-48d5-95c3-5da7bf0d831e@googlegroups.com

On 06/03/2018 11:31, Mehdi Saada wrote:
>> If a protected function call is active, all waiting function calls (again parameters evaluated immediately)
> Ok, I got this. Simultaneous, but blocked by use of protected procedures and entries.
>> For subprograms of a protected object, the call is evaluated immediately, even if the protected object is busy.  Then  procedure calls are executed sequentially
> Still don't get it, sorry... What's the difference *as far as waiting to be served one after the other* ?
> I know, there's no guard, and the only thing that matter is if a procedure or entry is active at the same time. Ok. Then what... the caller tasks are still waiting to execute the procedure, one after the other, and before they are blocked... Just like with an entry ?? You see where I'm stucked ? Other subtleties don't concern me for now. I must get the essential difference in behavior first.

The difference is that execution of the body of a protected 
function/procedure/entry is logically instant. This why blocking 
operations are prohibited within. Therefore a protected function or 
procedure logically never waits = never blocked. An entry call can be 
blocked and logically not instant until gets executed. Functions are 
like procedures except that logically allowed to run parallel to each other.

What an implementation makes of all this is up to the vendor and machine 
architecture.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  reply	other threads:[~2018-03-06 11:18 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-04 18:22 multiple delay alternative Mehdi Saada
2018-03-05  0:21 ` Mehdi Saada
2018-03-05  4:08 ` Bojan Bozovic
2018-03-05 10:17   ` Robert Eachus
2018-03-05  8:15 ` Dmitry A. Kazakov
2018-03-05  9:23 ` AdaMagica
2018-03-05 10:32 ` Bojan Bozovic
2018-03-05 13:50 ` Mehdi Saada
2018-03-05 14:35   ` Dmitry A. Kazakov
2018-03-05 15:09     ` Mehdi Saada
2018-03-06 11:05       ` Dmitry A. Kazakov
2018-03-05 17:37   ` Jeffrey R. Carter
2018-03-05 23:28 ` Simon Wright
2018-03-06  0:11   ` Anh Vo
2018-03-06  1:50 ` Mehdi Saada
2018-03-06  6:00   ` Robert Eachus
2018-03-06  6:03   ` J-P. Rosen
2018-03-06 16:36   ` Jeffrey R. Carter
2018-03-06 10:31 ` Mehdi Saada
2018-03-06 11:18   ` Dmitry A. Kazakov [this message]
2018-03-06 13:43     ` Mehdi Saada
2018-03-06 15:17       ` Dmitry A. Kazakov
2018-03-06 20:06       ` Randy Brukardt
replies disabled

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