Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
54
Task/Events/Delphi/events.delphi
Normal file
54
Task/Events/Delphi/events.delphi
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
program Events;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
uses
|
||||
SysUtils, Classes, Windows;
|
||||
|
||||
type
|
||||
TWaitThread = class(TThread)
|
||||
private
|
||||
FEvent: THandle;
|
||||
public
|
||||
procedure Sync;
|
||||
procedure Execute; override;
|
||||
constructor Create(const aEvent: THandle); reintroduce;
|
||||
end;
|
||||
|
||||
{ TWaitThread }
|
||||
|
||||
constructor TWaitThread.Create(const aEvent: THandle);
|
||||
begin
|
||||
inherited Create(False);
|
||||
FEvent := aEvent;
|
||||
end;
|
||||
|
||||
procedure TWaitThread.Execute;
|
||||
var
|
||||
res: Cardinal;
|
||||
begin
|
||||
res := WaitForSingleObject(FEvent, INFINITE);
|
||||
if res = 0 then
|
||||
Synchronize(Sync);
|
||||
end;
|
||||
|
||||
procedure TWaitThread.Sync;
|
||||
begin
|
||||
Writeln(DateTimeToStr(Now));
|
||||
end;
|
||||
|
||||
var
|
||||
event: THandle;
|
||||
|
||||
begin
|
||||
Writeln(DateTimeToStr(Now));
|
||||
event := CreateEvent(nil, False, False, 'Event');
|
||||
with TWaitThread.Create(event) do
|
||||
try
|
||||
Sleep(1000);
|
||||
SetEvent(event)
|
||||
finally
|
||||
Free;
|
||||
end;
|
||||
Readln;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue