线程在执行完毕,或中途被强行退出,那么线程内的对象会自动释放还是要手动去释放,怎样去完美释放。
解决方案 »
- VS2010与VAssistX的问题
- 有没有关于opencv的中文资料?
- 学API是不是只和 C 函数调用有关,不用知道面向对象的概念?
- 关于静态文本框
- Dll的编译问题(Release)?
- 一个小问题: 如何捕获 WM_SIZED消息,注意!! 是WM_SIZED 不是WM_SIZE!!!
- 怎么在ms soap toolkit 3.0中使用复合类型的数据
- 本人写的[实时对修改的注册表进行恢复和禁止广告弹出]免费软件
- MFC下ADO连接ACCESS会出现运行时错误
- 用Windows API 编写串口,向串口写数据的时候出现问题了,请高手帮忙!
- 老问题,SOCKET怎么在断网的时候就识别出已断网呢
- win7下如何解除job和process的绑定
把内核对象放到全局列表中
当然最好是让线程自己退出
比如说你在线程里面开了个Event对象那么你不要把Event的句柄保存在线程的局部变量里面,而是放在全局变量里面然后标识一下,那些全局变量是属于哪个线程的.再开另外一个线程,WaitForSingleObject需要被完美释放的线程(举个例子 不一定要WaitForSingleObject)当需要被释放资源的线程结束后,另外开了的监控线程检查全局变量,比如这里的Event有没有被释放掉 没有释放之.
{
}
许多人不用Flag用1。这样不好。你用Flag,主程序要结束他将他设置为false就OK了。
够温柔吧。呵呵
2 ::WaitForSingleObject(线程句柄, INFINITE);
3 释放已保存的在线程中分配的资源
没有完美释放的方式,这是Windows下的规则,遵守了就OK了