Jumat, 30 April 2021

menggunakan Tspinwait

program Project11tspinwait;

{$APPTYPE CONSOLE}

{$R *.res}
uses
  SysUtils, SyncObjs, Classes;

var
  Flag: Boolean;

type
  TThreadCause = class(TThread)
  private
    procedure Execute; override;
  end;

procedure TThreadCause.Execute;
begin
  Sleep(100); { 100 milliseconds }
  Flag := True;
end;

var
  LCause: TThreadCause;
  LSpinner: TSpinWait;

begin
  Flag := False;

  LCause := TThreadCause.Create(True);
  LCause.Start;
  LSpinner.Reset;
  while Flag = False do
  begin
    Writeln(IntToStr(LSpinner.Count));
    LSpinner.SpinCycle;
  end;
  Writeln(IntToStr(LSpinner.Count));
  Writeln(Flag); { displays TRUE }
  readln;
end.

Tidak ada komentar:

Posting Komentar