关于线程存在的问题(100分)

  • 主题发起人 主题发起人 esgeht
  • 开始时间 开始时间
E

esgeht

Unregistered / Unconfirmed
GUEST, unregistred user!
一个应用程序中存在多个独立工作的线程
由于一个线程的死亡不影响应用程序的运行状态
所以如果其中一个线程意外死亡,程序中又没有捕获这个错误
我怎么知道这个线程死亡了?
也就是说我该怎样判断某个线程是否依然存在?
不要告诉我,用一个全局变量做标志,当由意外错误死亡时
根本就不会去改变那个标志
 
再加一个监视线程
 
var
MyThread:TThread;
isquit:boolean;
i:dword;
begin
isquit:=GetExitCodeThread(MyThread.handle,i);
if isquit then
begin
...
end;
end;
 
lcl_003:
var
MyThread:TThread;
isquit:boolean;
i:dword;
begin
isquit:=GetExitCodeThread(MyThread.handle,i);

//这个I是干什么的?不用付值吗?
if isquit then

begin
...
end;
end;
 
试一下不就知道了
 
建立监视线程是比较好的解决方式
 
后退
顶部