16,748
社区成员
发帖
与我相关
我的任务
分享
procedure Tthread3.Execute;
var
i:Integer;
begin
i:=0;
repeat
i:=i+1;
EnterCriticalSection(MyCs); //进入临界区
try
Form1.Button1.click;
Form1.Button3.click;
finally
LeaveCriticalSection(MyCs); //离开临界区
end;
//Delay(5);
sleep(5);
form1.lbl1.Caption:=IntToStr(i);
until i>100000; //十万次
end;
procedure Tthread4.Execute;
var
ii:Integer;
begin
ii:=0;
repeat
ii:=ii+1;
EnterCriticalSection(MyCs); //进入临界区
try
Form1.Button2.click;
Form1.Button3.click;
form1.lbl2.Caption:=IntToStr(ii);
finally
LeaveCriticalSection(MyCs); //离开临界区
end;
// Delay(5);
sleep(5);
until ii>100000;//十万次
end;
procedure Tthread5.Execute;
var
iii:Integer;
begin
iii:=0;
repeat
iii:=iii+1;
EnterCriticalSection(MyCs); //进入临界区
try
Form1.Button1.click;
Form1.Button2.click;
Form1.Button3.click;
form1.lbl3.Caption:=IntToStr(iii);
finally
LeaveCriticalSection(MyCs); //离开临界区
end;
sleep(5);
until iii>100000;//十万次
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
ceshi1:=Tthread3.Create(False);
end;
procedure TForm1.btn2Click(Sender: TObject);
begin
ceshi2:=Tthread4.Create(False);
end;
procedure TForm1.btn3Click(Sender: TObject);
begin
ceshi3:=Tthread5.Create(False);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
InitializeCriticalSectionAndSpinCount(MyCs,400); //这个函数不错 性能彪升。
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DeleteCriticalSection(MyCs);
end;
end.