Anonymous user
Concurrent computing: Difference between revisions
m
→{{header|Pascal}}: must be interlocked inc/decrement tse tse tse
Thundergnat (talk | contribs) (→{{header|Pascal}}: Re-add Pascal entry. My apologies if I messed up the formatting) |
m (→{{header|Pascal}}: must be interlocked inc/decrement tse tse tse) |
||
Line 1,465:
{$ENDIF}
SysUtils, Classes;
type
TRandomThread = class(TThread)
Line 1,479:
MyStrings: array[0..2] of String = ('Enjoy ','Rosetta ','Code ');
var
gblRunThdCnt :
constructor TRandomThread.Create(const aString: string);
begin
Line 1,486:
FreeOnTerminate := True;
FString := aString;
end;
procedure TRandomThread.Execute;
var
Line 1,498:
//output of difference in time
Writeln(FString,i:4,GettickCount64-T0 -i:2);
end;
var
lThreadArray: Array[0..9] of THandle;
Line 1,506:
begin
Randomize;
gblRunThdCnt := 0;
For i := low(lThreadArray) to High(lThreadArray) do
lThreadArray[i] := TRandomThread.Create(Format('%9s %4d',[myStrings[Random(3)],i])).Handle;
while gblRunThdCnt > 0 do
sleep(125);
end.</lang>
{{out}}
<pre>
Enjoy 4 16 0
|