comp.lang.ada
 help / color / mirror / Atom feed
From: "Jean-Pierre Rosen" <rosen.adalog@wanadoo.fr>
Subject: Re: Task Problem
Date: 1999/04/12
Date: 1999-04-12T17:20:57+00:00	[thread overview]
Message-ID: <7eta1p$pp0$1@wanadoo.fr> (raw)
In-Reply-To: m3emltz10g.fsf@mheaney.ni.net


Matthew Heaney a �crit dans le message ...
>"David C. Hoos, Sr." <david.c.hoos.sr@ada95.com> writes:
>
>> -----Original Message-----
>> From: Sean Hill <shill@arlut.utexas.edu>
>> To: chat@gnat.com <chat@gnat.com>
>> Date: Thursday, April 08, 1999 4:03 PM
>> Subject: Task Problem
>>
>> >Any thoughts out there?
>> >
>> I know this is not a first step when porting from Ada83 to Ada95,
but
>> I have found no need for the rendezvous mechanism in any of my new
>> designs, and have changed many rendezvous designs to use protected
>> queues.
>
>I'll ditto that.  It's possible to write Ada tasks as pure active
>threads, with no entries.  When you need to call a task, you call a
>protected object instead that acts as an intermediary.
>
One big (huge in some cases) drawback of this approach is that you
have no way to ensure automatic termination of servers.
With this paradigm, every task is in the position of a client, and the
PO work as the servers. You must send some kind of message to tell the
tasks to terminate, but it is difficult to ensure that every task will
terminate properly in every case of exception.

Of course, this does not apply if all tasks are intended to be
permanent (which often happens in real-time systems).
---------------------------------------------------------
           J-P. Rosen (Rosen.Adalog@wanadoo.fr)
Visit Adalog's web site at http://perso.wanadoo.fr/adalog






  parent reply	other threads:[~1999-04-12  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <004601be8271$a408ad60$a20eb4d8@dhoossr>
1999-04-10  0:00 ` Task Problem Matthew Heaney
1999-04-11  0:00   ` Robert Dewar
1999-04-12  0:00   ` Jean-Pierre Rosen [this message]
1999-04-12  0:00   ` charlet
replies disabled

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