我在VC基于对话框的程序中创建了一个线程,在线程中我需要访问主窗口中的一个成员变量,所以在这个线程中了我使用了窗口指针。这样每当我退出程序时在线程中就会出现异常,原因我想应该是程序退出时这个窗口已经被销毁了,而我在线程中又使用了窗口指针,所以才会造成这样的结果。
想问一下,应该怎样解决呢?

解决方案 »

  1.   

    我猜问题大概是这样的:
    你在关闭主对话框的时候,后台线程并没有结束,所以造成了这个问题。很明显,当关闭对话框的时候,先要结束后台线程。
    其实这个问题就是典型的『线程间的同步』。如何做呢?
    可以用『 Event 』来解决这个问题。
      

  2.   

    用WaitForSingleObject使线程函数在一定条件下自己退出。