请问,在线程执行函数中,能够关闭此线程句柄吗?如果不能,应该在何处关闭句柄?例:
BOOL Calarm::StartThread() //创建线程
{
HThread = CreateTread(0, 0,
(LPTHREAD_START_ROUTINE)Excution,
0, 0, &id);
}Dword CAlarm::Excution(LPDWORD param) //线程的执行函数
{
if (nRunning)
{
DoSomething( );
return 1;
}
}
void CAlarm ::DoSomething( ) //调用函数
{
CloseHandle( HThread); //在这里关闭函数句柄,可以吗?
}
BOOL Calarm::StartThread() //创建线程
{
HThread = CreateTread(0, 0,
(LPTHREAD_START_ROUTINE)Excution,
0, 0, &id);
}Dword CAlarm::Excution(LPDWORD param) //线程的执行函数
{
if (nRunning)
{
DoSomething( );
return 1;
}
}
void CAlarm ::DoSomething( ) //调用函数
{
CloseHandle( HThread); //在这里关闭函数句柄,可以吗?
}
解决方案 »
- IHTMLDocument access violation
- 如何进行分离?
- 主对话框上附有几个子对话框,主对话框上有Button按钮,子对话框上有编辑框,要通过Button按钮操作编辑框的显示,
- fillpackage(buf,dstip,(u_short) pid);
- 想求一个局域网及时通信系统的源代码
- 新人求教:处理CSliderCtrl控件的=wm_Customdraw消息遇到的问题
- vc使用控件的问题
- 有关向项目中增加新类的问题,请大家帮助!
- 我在哪儿能买的到候捷先生在<<MFC深入浅出>>附录中推荐的<<Windows Internals>>
- 如何读取注册表二进制值,我知道用RegQueryValueEx但不知道具体代码该怎么写
- win2k下进程的读写问题
- 关于用CSocketFile类和CArchive类来实现CSocket类的Send和Receive函数,急急!!
CloseHandle(HANDLE h)关闭该句柄,防止因遗忘而疏忽关闭它,造成内存泄漏。
当然,这些并不是必须的,因为在程序结束时,OS会把这一切处理得很完美。
但作为程序员,我想应该让自己的程序看上去无懈可击,不留任何遗憾,自己的感觉会
越来越好。
CloseHandle();