线程控制函数中有一个下述循环while(isWork)
{
     ... ... 
}在主程序中,建立线程X,控制isWork[按钮button1控制的]问题:
当我在关闭主程序前,手动按下button1关闭 --- 设置 isWork = false
这个时候都正常.但是如果我直接退出主程序,在任务管理器中发现还有那个进程【猜测是线程X没关】
但是,我在WM_DESTROY中同样有isWork = false的语句啊哪个大神给解释下。【我的线程控制函数体主要是另一个类B的一个方法,所以才想通过isWork控制那个循环体】
class B{
private:
       bool isWork;
...
public:
      void Threadfunc();
...
};

解决方案 »

  1.   


    是啊。。很无语啊。
    我是写的MFC基于对话框的程序
    主程序里建了个线程【用OpenCV采集摄像头图像】
    我刚细细调了下, 线程没问题
    调试的时候有个提示:
      

  2.   

    用OpenCV采集摄像头图像
    应该是这里面的问题!资源问题,主线程关闭,资源先释放了,而你的线程没退出又在操作!
      

  3.   


    我现在想要在用户点击【退出】按钮后,先关闭线程【isWork设为false】,我把这句放那儿合适呢?
    我原先放OnDestroy()中的,看来是不行啊。