Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
39
Task/Concurrent-computing/Delphi/concurrent-computing.delphi
Normal file
39
Task/Concurrent-computing/Delphi/concurrent-computing.delphi
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
program ConcurrentComputing;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
uses SysUtils, Classes, Windows;
|
||||
|
||||
type
|
||||
TRandomThread = class(TThread)
|
||||
private
|
||||
FString: string;
|
||||
protected
|
||||
procedure Execute; override;
|
||||
public
|
||||
constructor Create(const aString: string); overload;
|
||||
end;
|
||||
|
||||
constructor TRandomThread.Create(const aString: string);
|
||||
begin
|
||||
inherited Create(False);
|
||||
FreeOnTerminate := True;
|
||||
FString := aString;
|
||||
end;
|
||||
|
||||
procedure TRandomThread.Execute;
|
||||
begin
|
||||
Sleep(Random(5) * 100);
|
||||
Writeln(FString);
|
||||
end;
|
||||
|
||||
var
|
||||
lThreadArray: Array[0..2] of THandle;
|
||||
begin
|
||||
Randomize;
|
||||
lThreadArray[0] := TRandomThread.Create('Enjoy').Handle;
|
||||
lThreadArray[1] := TRandomThread.Create('Rosetta').Handle;
|
||||
lThreadArray[2] := TRandomThread.Create('Stone').Handle;
|
||||
|
||||
WaitForMultipleObjects(Length(lThreadArray), @lThreadArray, True, INFINITE);
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue