关闭

关闭线程句柄并不代表终止线程

标签: winapiclass
2567人阅读 评论(2) 收藏 举报
分类:
刚才看到一篇文章里实现的简单线程类(原文:http://blog.csdn.net/wei801004/archive/2006/05/18/744341.aspx),注意到这段代码似乎认为简单地CloseHandle线程就可以终止一个线程,原文的代码如下,注释是我添的:
typedef unsigned (WINAPI *PTHREADFUN)(LPVOID lpParameter);

class CThread {
public:
CThread(void) {}
~CThread(void) {}
void Start(void);
void Stop(void) const { CloseHandle(m_hThread); } //CloseHandle并不代表就stop了线程
//同时函数也不应该是const的,因为
//关闭了句柄应该把m_hThread置为空

static DWORD WINAPI ThreadFun(LPVOID lpParameter); //似乎应该是私有的
virtual DWORD WINAPI ThreadWorkItem(LPVOID lpParameter) = 0;
private:
HANDLE m_hThread;
DWORD m_dwThreadID;
};
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:453435次
    • 积分:5990
    • 等级:
    • 排名:第4354名
    • 原创:151篇
    • 转载:38篇
    • 译文:0篇
    • 评论:109条
    最新评论