Skip to content

Commit

Permalink
Add a simple test of tasking
Browse files Browse the repository at this point in the history
  • Loading branch information
R. Tyler Croy committed Jan 30, 2011
1 parent 130b955 commit d5c85b6
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions twotasking.adb
@@ -0,0 +1,32 @@
--
--
--

with Ada.Text_IO, Ada.Float_Text_IO;
with Ada.Numerics.Float_Random;
use Ada.Float_Text_IO, Ada.Text_IO;

procedure TwoTasking is
task type TenLooper (Id : Character) is
end TenLooper;

task body TenLooper is
Seed : Ada.Numerics.Float_Random.Generator;
begin
Ada.Numerics.Float_Random.Reset (Seed, Character'Pos (Id));
for I in 1 .. 10 loop
declare
Offset : Duration := Duration (Ada.Numerics.Float_Random.Random (Seed));
begin
Put_Line ("Derp: " & Id & " :: " & Integer'Image (I));
Put_Line ("Delaying: " & Duration'Image (Offset));
delay Offset;
end;
end loop;
end TenLooper;

Task_1 : TenLooper ('A');
Task_2 : TenLooper ('B');
begin
Put_Line ("..waiting for tasks to complete");
end TwoTasking;

0 comments on commit d5c85b6

Please sign in to comment.