首页 > 其他 > 详细

线程相关

时间:2014-01-16 08:33:46      阅读:415      评论:0      收藏:0      [点我收藏+]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//准备让线程调用的测试函数
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;

线程相关

原文:http://www.cnblogs.com/lifelog/p/3517445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!