请问各位大侠怎么样判断一个线程是否已经执行结束?有没有这方面的API(100分)

  • 主题发起人 主题发起人 阿丙
  • 开始时间 开始时间
property Terminated: Boolean;
 
或者是用OnTerminate这个事件
 
我用的是createthread(...)函数,所以没有两位所说的功能,请再不吝赐教
 
用GetExitCodeThread API,以handle作参数,
看一看help就知道了,如果线程还在执行,
lpExitCode参数会返回STILL_ACTIVE,
否则返回的是你的线程返回结果。
也需要注意你的线程返回值不会恰好等于STILL_ACTIVE :-)
 
还是用WaitForSingleObject(ThreadHandle,INFINITE)比较好。
 
感谢各位帮助,我觉得温柔一刀的方法比较适合。其他两位也对,但不是我用的类型,不过,还是很感谢你们的帮助!以后有问题还请多多指教
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部