**-------简单问题 不知道有人回答么: 线程结束后, 线程句柄==NULL 了吗?--------------***
如果线程结束, 原先的CreateThread返回的句柄就为空了吗?
如果没有,有什么标志能告诉我这个线程结束了? 难道是CreateThread最后一个参数能表示?
问题点数:20、回复次数:3Top
1 楼WvW(我有一个好老婆^_^)回复于 2003-08-02 16:51:06 得分 0
还问个问题:
临界区被释放了 DeleteCriticalSection(&m_lpCriticalSection);
EnterCriticalSection(&m_lpCriticalSection); 这个函数会怎么做? 出错还是其他? 谢谢
Top
2 楼WvW(我有一个好老婆^_^)回复于 2003-08-02 16:53:19 得分 0
临界区被DeleteCriticalSection删除后, EnterCriticalSection还有效吗? 会出错还是其他?
急啊Top
3 楼bear_c()回复于 2003-08-02 16:54:43 得分 0
可以用WaitForSingleObject()判断Top
4 楼GladisionBoy(Hidden)回复于 2003-08-02 17:09:31 得分 20
GetExitCodeThread
The GetExitCodeThread function retrieves the termination status of the specified thread.
BOOL GetExitCodeThread(
HANDLE hThread, // handle to the thread
LPDWORD lpExitCode // address to receive termination status
);
GetExitCodeThread 如果返回STILL_ACTIVE 说明线程已经退出。
注意:CreateThread、CreateProcess返回的句柄不随进程、线程退出而失效,必须显式地调用CloseHandle函数关闭这个句柄。关闭句柄后就不能调用GetExitCodeThread。
Top




