Concurrent computing: Difference between revisions

no edit summary
(New page: {{task}} Using either native language concurrency syntax or freely available libraries write a program to display the strings "Enjoy" "Rosetta" "Code", one string per line, in random orde...)
 
No edit summary
Line 2:
 
Using either native language concurrency syntax or freely available libraries write a program to display the strings "Enjoy" "Rosetta" "Code", one string per line, in random order. Concurrency syntax must use threads, tasks, co-routines, or whatever concurrency is called in your language.
 
 
==[[Ada]]==
[[Category: Ada]]
with Ada.Text_Io; use Ada.Text_Io;
with Ada.Numerics.Float_Random; use Ada.Numerics.Float_Random;
with Ada.strings.Unbounded; use Ada.Strings.Unbounded;
procedure Concurrent_Hello is
task type Writer is
entry Start(Message : String);
end Writer;
task body Writer is
Seed : Generator;
Sleep_Time : Float;
Words : Unbounded_String;
begin
Reset(Seed);
Sleep_Time := Random(Seed);
accept Start(Message : String) do
Words := To_Unbounded_String(Message);
end Start;
delay Duration(Sleep_Time);
Put_Line(To_String(Words));
end Writer;
T1 : Writer;
T2 : Writer;
T3 : Writer;
begin
T1.Start("Enjoy");
T2.Start("Rosetta");
T3.Start("Code");
end Concurrent_Hello;
Anonymous user