[DELPHI] 스레드 관련

1176 단어 Delphi
//            

procedure Draw(aCanvas: TCanvas; X,Y: Integer; aCount: Integer = 100000);

var

  i: Integer;

begin

  for i := 0 to aCount do

  begin

    aCanvas.Lock;

    aCanvas.TextOut(X, Y, IntToStr(i));

    aCanvas.Unlock;

  end;

end;

 

//    

procedure TForm1.Button1Click(Sender: TObject);

begin

  TThread.CreateAnonymousThread(procedure begin Draw(Canvas, 50, 10); end).Start;

  TThread.CreateAnonymousThread(procedure begin Draw(Canvas, 50, 30); end).Start;

  TThread.CreateAnonymousThread(procedure begin Draw(Canvas, 50, 50); end).Start;

  TThread.CreateAnonymousThread(procedure begin Draw(Canvas, 50, 70); end).Start;

  TThread.CreateAnonymousThread(procedure begin Draw(Canvas, 50, 90); end).Start;

end;

 

//    

procedure TForm1.Button2Click(Sender: TObject);

begin

  TThread.Queue(nil, procedure begin Draw(Canvas, 150, 10); end);

  TThread.Queue(nil, procedure begin Draw(Canvas, 150, 30); end);

  TThread.Queue(nil, procedure begin Draw(Canvas, 150, 50); end);

  TThread.Queue(nil, procedure begin Draw(Canvas, 150, 70); end);

  TThread.Queue(nil, procedure begin Draw(Canvas, 150, 90); end);

end;


좋은 웹페이지 즐겨찾기