在一个对话框程序中,点“开始”按钮,创建一个工作线程,执行一些操作,若正常完成则结束线程。但是在工作线程运行过程中,用户可以点“停止”来中止该次操作。请问怎么在线程中正常终止它和在得到停止消息时终止该线程。用一个全局变量来判断可以吗?请指点啊,谢谢。

解决方案 »

  1.   

    http://blog.joycode.com/jiangsheng/archive/2005/08/20/62256.aspx
      

  2.   

    http://www.microsoft.com/msj/0797/multithreading.aspx
      

  3.   

    UINT thread(LPVOID p)
    {
    ....
    }
    AfxBeginThread(thread,0);
    其中thread()为static函数,可是要在thread()中访问很多对话框的成员和成员函数,又不可能把对话框的成员和函数都定义成static。该怎么办啊?
      

  4.   

    我试了把当前对话框的指针作为参数传给thread(),运行时会出现严重错误。
    请帮帮我啊。
      

  5.   

    http://support.microsoft.com/kb/147578
      

  6.   

    我做的一个东西与你说的类似
     当前对话框的指针作为参数传给thread(),
    使用正常啊我让线程结束的方法是,
    在UI线程中设立标志量,
    在工作者线程通过判断标志量,让函数返回来让线程结束