Re: GTkada et taches
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.ada ]
Sujet: Re: GTkada et taches
De: ludo...@ludovic-brenta.org (Ludovic Brenta)
Groupes: fr.comp.lang.ada
Organisation: Tele2
Date: 14. Jan 2008, 21:27:14
References: 1 2 3
|
Rangdalf writes:
>> Ensuite, un rendez-vous n'est, sauf grosse ruse, pas le moyen de
>> s'assurer que des tâches sont terminées.
>
> Je ne vois pas comment? si tu peux expliquer un peu plus. Donner des
> pistes...
type Image is record ... end record;
function Image_From_Disk return Image;
task type Transform (Image_To_Process : access Image) is ... end task;
procedure P is
type Image_Array is array (Positive range <>) of aliased Image;
Images : Image_Array := (1 .. 3 => Image_From_Disk);
T1 : Transform (Image_To_Process => Images (1)'Access);
T2 : Transform (Image_To_Process => Images (2)'Access);
T3 : Transform (Image_To_Process => Images (3)'Access);
begin
null;
end P;
La procédure P rend le contrôle (bloque sur l'instruction "null")
quand les trois tâches sont terminées. Pas besoin de rendez-vous
explicite pour ça.
Si tu veux connaître le résultat des tâches, elles peuvent sans danger
écrire dans des variables que tu lis après avoir appelé la procédure
P. Tu peux passer un accès à ces variables comme discriminant de
tâche, tout comme l'image à traiter dans mon exemple.
--
Ludovic Brenta.

|
 cette fonctionnalité est reservée aux membres ayant une session active !
|