Chciałbym równolegle wyświetlać w dwóch kolumnach ciągi znaków.
Wykorzystuje do tego taski z języka Ada.
Niestety finalnie nie wygląda to tak jakbym chciał, przy wyświetlaniu powstają wolne linie, wszystko się miesza.
W jaki sposób zsynchronizować te dwa taski?
with Ada.Text_IO;
use Ada.Text_IO;
with Ada.Integer_Text_IO;
use Ada.Integer_Text_IO;
with RandomPackage;
use RandomPackage;
procedure Main is
task zadanie_1;
task zadanie_2;
task body zadanie_1 is
czas,czas_max,i : Integer;
D : Duration;
begin
czas_max := 10;
i := 1;
loop
czas:= RandomInt(czas_max);
D := Duration(Float(czas)/10.0);
Set_Line(Positive_Count(i+2));
Put("Zadanie 1 po raz ");
Put(i,1);
Put(" Opoznienie: ");
Put(czas,2);
delay D;
exit when i=10;
i := i + 1;
end loop;
end zadanie_1;
task body zadanie_2 is
czas,czas_max,i : Integer;
D : Duration;
begin
czas_max := 10;
i := 1;
loop
czas:= RandomInt(czas_max);
D := Duration(Float(czas)/10.0);
Set_Line(Positive_Count(i+1));
Set_Col(15);
Put("Zadanie 2 po raz ");
Put(i,1);
Put(" Opoznienie: ");
Put(czas,2);
delay D;
exit when i=10;
i := i + 1;
end loop;
end zadanie_2;
begin
null;
end Main;