没想到造成泄漏的原因是由于保存数据的线程因为事件阻塞在那里,此时要关闭OnClose的时候,这个挂起的线程爆出了内存泄漏,所以在关闭窗口之前,需要SetEvent(m_hSaveDataEvent);来把挂起的线程激活,之后的释放就不再出现内存泄漏了。
以后的调试过程中,关于内存泄漏的问题一定要解决,否则在关键时候给出来一个问题,你都受不了。通常是由于new了但是没有delete,这样的问题比较好解决。特别是在在OnClose函数调用之后,要学会回收垃圾!
另外就是在线程退出的问题上,多线程虽然方便了,但是很容易出现线程不能正常安全退出,这个问题上要好好的理清楚逻辑关系,保证当某个操作后,线程需要退出,不然再次打开链接后,会创建可重入的线程,两个线程共同运行,这样就会出现各种莫名其妙的问题。
2016-5-7
张朋艺 pyzhangbit2010@126.com