Win32多线程之GetExitCodeThread
2013-11-18 21:38
197 查看
BOOL GetExitCodeThread(
HANDLE hThread,
LPDWORD lpExitCode
);
参数
hThread :由CreateThread()传回的线程handle
lpExitCode:指向一个DWORD, 用以接收结束代码(exit code)
返回值: 如果成功,GetExitCodeThread()传回TRUE,否则传回FALSE,如果失败,你可以调用GetLastError()找出原因,如果线程已经结束,那么线程的结束代码会被放在lpExitCode参数中带回来。如果线程尚未结束,lpExitCode带回来的值是STILL_ACTIVE。
GetExitCodeThread()将传回线程函数的返回值,然而,GetExitCodeThread()的一个糟糕行为是,当线程还在进行,尚未有所谓的结束代码时,它会传回TRUE表示成功。如果这样,lpExitCode指向的内存区域中应该放的是STILL_ACTIVE。你必须小心这种行为,也就是说你不可能从其返回值中知道“到底是线程还在运行呢,还是它已结束,但返回值为“STILL_ACTIVE”。
使用GetExitCodeThread()等待一个线程的结束并不是一个好方法。
HANDLE hThread,
LPDWORD lpExitCode
);
参数
hThread :由CreateThread()传回的线程handle
lpExitCode:指向一个DWORD, 用以接收结束代码(exit code)
返回值: 如果成功,GetExitCodeThread()传回TRUE,否则传回FALSE,如果失败,你可以调用GetLastError()找出原因,如果线程已经结束,那么线程的结束代码会被放在lpExitCode参数中带回来。如果线程尚未结束,lpExitCode带回来的值是STILL_ACTIVE。
GetExitCodeThread()将传回线程函数的返回值,然而,GetExitCodeThread()的一个糟糕行为是,当线程还在进行,尚未有所谓的结束代码时,它会传回TRUE表示成功。如果这样,lpExitCode指向的内存区域中应该放的是STILL_ACTIVE。你必须小心这种行为,也就是说你不可能从其返回值中知道“到底是线程还在运行呢,还是它已结束,但返回值为“STILL_ACTIVE”。
使用GetExitCodeThread()等待一个线程的结束并不是一个好方法。
相关文章推荐
- Windows编程--线程之GetExitCodeThread()
- 请教GetExitCodeThread函数的作用及参数
- GetExitCodeThread()
- 第一篇,第二章 之 GetExitCodeThread()
- 使用GetExitCodeThread()关闭线程
- delphi判断线程状态函数(使用GetExitCodeThread API函数去判断线程的句柄)
- GetExitCodeThread
- WaitForMultipleObjects、WaitForSingleObject、GetExitCodeThread
- GetExitCodeThread(hThread, (PDWORD) &uSum);
- GetExitCodeThread判断线程是否执行完
- 23.[个人]C++线程入门到进阶(23)----线程函数:GetExitCodeThread
- GetExitCodeThread()
- Windows API 之 CreateThread、GetExitCodeThread(未完)
- GetExitCodeThread(hThrd, &exitCode);WaitForSingleObject(hThrd,INFINITE);
- GetExitCodeThread的返回值与线程的退出无关
- GetExitCodeThread WaitForSingleObject
- 线程函数GetExitCodeThread和ExitThread
- 线程结束,GetExitCodeThread后结束值一直STILL_ACTIVE,259的问题
- exitcode.c---示范GetExitCodeThread()的用法
- GetExitCodeThread