procedure Essai07A is
package New_Task_Attributes is
new Ada.Task_Attributes (Character, 'A');
use New_Task_Attributes;
task type T_TskCoucou is
entry WhoAreYou (MyNameIs
: out Task_ID);
end T_TskCoucou;
task body T_TskCoucou is
begin -- T_TskCoucou
accept WhoAreYou (MyNameIs
: out Task_ID) do
MyNameIs
:= Current_Task;
end WhoAreYou;
for I in 1..2 loop
Put_Line (" La
tache " & Image (Current_Task)
& " d'attribut "
& Value (Current_Task)
& " vous dit Coucou");
delay 1.0;
end loop;
Set_Value (Character'Succ (Value),
Current_Task); --1
Put_Line (" La tache " &
Image (Current_Task)
& " d'attribut "
& Value (Current_Task)
& " vous dit Coucou");
end T_TskCoucou;
begin -- Essai07A
declare
Coucou : T_TskCoucou;
T
: Task_ID;
begin
Coucou.WhoAreYou (T);
Delay 1.5;
Set_Value (Character'Succ
(Value), T); --2
end;
New_Line;
declare
Coucou : T_TskCoucou;
T
: Task_ID;
begin
Coucou.WhoAreYou (T);
Delay 0.5;
Set_Value (Character'Succ
(Value), T); --2
delay 1.0;
ReInitialize (T);
--3
end;
end Essai07A;