comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <sb463ba@d2-hrz.uni-duisburg.de>
Subject: Re: DYNAMIC ADA TASK CREATION?
Date: Wed, 18 Jun 2003 09:20:01 +0000 (UTC)
Date: 2003-06-18T09:20:01+00:00	[thread overview]
Message-ID: <bcpas1$esp$1@a1-hrz.uni-duisburg.de> (raw)
In-Reply-To: 3EF0026E.2050309@attbi.com

Robert I. Eachus <rieachus@attbi.com> wrote:
: Simon Wright wrote:
: 
:> (uncompiled)
:> 
:>   task type t is
:>     --  some entries
:>   end t;
:> 
:>   task body t is
:>   begin
:>     --  code
:>   end t;
:> 
:>   type ts is array (positive range <>) of t;
:> 
:>   n : positive;
:> 
:> begin
:> 
:>   --  read in n  
:> 
:>   declare
:>     the_ts : ts (1 .. n);
:>   begin
:>     --  do something with the tasks
:>     --  NB, can't pass this point until all the tasks have terminated
:>   end;
: 
: Correct.  But if you don't want to get stuck there, do this instead:
: 
:     -- task type t as above
:     type ta is access t;
: 
:     type ts is array (positive range <>) of ta := new t;
                                                 ^^^^^^^^  
I think I got the idea and made me program to see the tasks working
outside the declare block. A good hint!
But is new t on the line above some new default initialisation
construct, or meant to abbreviate something? (The compiler complains.)
: 
 [...]
: 
:     declare
:       the_ts : ts (1 .. n);
:     begin
:       --  do something with the tasks
:       --  NB, CAN pass this once all the tasks have been created.
:     end;
: 
: For an ordinary task object, the creator of the object is the master (in 
: the original example, a declare block.  But for a task created by an 
: allocator, the place where the access type was declared determines who 
: is the master.  (In either case, if that is in a library package, the 
: master is the environment task.)
: 

--  Georg



  reply	other threads:[~2003-06-18  9:20 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-17 19:53 DYNAMIC ADA TASK CREATION? avram
2003-06-17 20:24 ` Simon Wright
2003-06-18  6:11   ` Robert I. Eachus
2003-06-18  9:20     ` Georg Bauhaus [this message]
2003-06-18 11:13       ` John McCabe
2003-06-18 12:43         ` John McCabe
2003-06-18 14:17           ` Georg Bauhaus
2003-06-19  5:07         ` Simon Wright
2003-06-19  6:05           ` Robert I. Eachus
2003-06-19 23:30             ` Jeffrey Carter
2003-06-18 19:15     ` avram
2003-06-18 21:17       ` Craig Carey
2003-06-20 18:56         ` avram
2003-06-21 13:06           ` Pascal Obry
2003-06-18 23:28       ` Robert I. Eachus
2003-06-19  5:09         ` Simon Wright
2003-06-19  6:39           ` Robert I. Eachus
2003-06-19 20:34             ` Simon Wright
2003-06-28  0:54             ` Matthew Heaney
2003-06-28  7:25               ` Robert I. Eachus
2003-06-30  7:35                 ` Dmitry A. Kazakov
2003-06-30 15:01                   ` Matthew Heaney
2003-07-01  7:19                     ` Dmitry A. Kazakov
2003-07-01 14:21                       ` Matthew Heaney
2003-07-02 12:05                     ` Mário Amado Alves
2003-07-02 19:41                       ` Simon Wright
2003-07-03 21:31                         ` Mário Amado Alves
2003-07-03  9:53                   ` Robert I. Eachus
replies disabled

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