侦测线程的状态(100分)

  • 主题发起人 主题发起人 lfq
  • 开始时间 开始时间
L

lfq

Unregistered / Unconfirmed
GUEST, unregistred user!
我的线程没有使用循环,其代码执行一次就结束了,在满足条件时,我还想在此执行之,问题是如何知道线程已经执行结束?即:
if mythread is stop then
reexec
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=4786
这里有讲这个东西的
如果感觉复杂,请搜索‘结束’,来查询你所需要的东西
 
procedure FreeThread(_Thread: TThread);
var
i: Integer;
iExitCode: Cardinal;
begin
iExitCode := 0;
with _Threaddo
try
...
for i := 1 to 20do
//等待线程退出
begin
GetExitCodeThread(Handle, iExitCode);
//查询线程状态
if iExitCode = STILL_ACTIVE then
Sleep(100)
else
break;
end;
if iExitCode = STILL_ACTIVE then
TerminateThread(Handle, iExitCode);
//强制结束线程
finally
Free;
end;
end;
 
帮顶!
http://www.source520.com
站长开发推广同盟 站长朋友的终极驿站
同时拥有海量源码电子经典书籍下载
http://www.source520.com/search/search.asp
"编程.站长"论坛搜索引擎-----为中国站长注入动力!
 
后退
顶部