解决方案 »

  1.   

    那就确保主线程退出前子线程能正常结束。另外看你定义的全局变量是const,那在子线程里就定义个局部变量,把全局变量赋值给局部变量。
      

  2.   

    楼主使用WaitForSingleObject是等待子线程的线程句柄是吧?如果是的话当WaitForSingleObject收到的时候子线程应该是正常退出了。WaitForSingleObject收到的时机是在子线程退出线程函数时,除非你在子线程退出线程函数后还在使用那个变量。楼主可以打点log看一下,在子线程中使用变量A的地方的前后,和在线程函数的退出的地方,看看是不是线程函数退出后还有地方使用了A。
      

  3.   

    程序退出,全局资源当然被释放了,至于是全局资源先被释放还是子线程先退出,是随机的,所以你的程序很有可能是有时正常有时崩溃。正确的做法是,在窗口的OnDestroy中SetEvent,通知子线程,让它退出,然后在继续退出程序
      

  4.   

    我已经使用WaitForSingleObject,让主线程等待子线程正常结束后,在结束主了。而且我设断点看过,关闭程序后,子线程执行到断点处时,父线程并没有退出。