有关线程的终止

24ge 2003-07-22 11:18:53
Var T1:Thread1;

procedure Thread1.Execute;
var
i:integer;
begin
for i:=1 to 1000000 do
begin
if T1.Terminated then
begin
exit;
end;
synchronize(updateedit);
sleep(10);
end;
end;

我用 T1.Free;可以终止thread1.execute;但问题是sleep(10)换成sleep(10000)后,非要等10秒才能终止,有什么办法立即终止它。

...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
24ge 2003-07-22
  • 打赏
  • 举报
回复
请问过客api的用法:terminatethread(T1.ThreadID,0);不行。如何写?
李_军 2003-07-22
  • 打赏
  • 举报
回复
用Api函数TerminateThread,马上让她结束
zjybestzjybest 2003-07-22
  • 打赏
  • 举报
回复
while (not fterminated) and (j<100)
zjybestzjybest 2003-07-22
  • 打赏
  • 举报
回复
begin
for i:=1 to 1000000 do
begin
if T1.Terminated then
begin
exit;
end;
synchronize(updateedit);
j:=0
while not fterminated and j<100
begin
sleep(10);
j:=j+1;
end;
end;
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧