线程控制函数中有一个下述循环while(isWork)
{
... ...
}在主程序中,建立线程X,控制isWork[按钮button1控制的]问题:
当我在关闭主程序前,手动按下button1关闭 --- 设置 isWork = false
这个时候都正常.但是如果我直接退出主程序,在任务管理器中发现还有那个进程【猜测是线程X没关】
但是,我在WM_DESTROY中同样有isWork = false的语句啊哪个大神给解释下。【我的线程控制函数体主要是另一个类B的一个方法,所以才想通过isWork控制那个循环体】
class B{
private:
bool isWork;
...
public:
void Threadfunc();
...
};
解决方案 »
- MFC里编辑框控件如何响应鼠标单击的消息
- select的几个问题
- 关于类型转换(绝对送分问题)
- 如何反注册一个COM组件?
- 求灰度图二值化算法
- 如何提高VC水平
- CListCtrl::GetItemData(int,dword)中的dword参数有什么用处?
- vista 下SetWindowsHookEx 全局钩子问题(求教)
- VC为什么会出现这样的情况,编译通过,LINK会出错?
- 请问如何才能迅速得知一个类中有哪些函数呢?用对象加点有时好象不行吧?
- ShellExecuteEx问题
- VS2010 opencv ,error C2664: “cvMorphologyEx”: 不能将参数 4 从“”转换为“IplConvKernel *”
是啊。。很无语啊。
我是写的MFC基于对话框的程序
主程序里建了个线程【用OpenCV采集摄像头图像】
我刚细细调了下, 线程没问题
调试的时候有个提示:
应该是这里面的问题!资源问题,主线程关闭,资源先释放了,而你的线程没退出又在操作!
我现在想要在用户点击【退出】按钮后,先关闭线程【isWork设为false】,我把这句放那儿合适呢?
我原先放OnDestroy()中的,看来是不行啊。