程序里主线程进行界面的维护,工作者线程后台进行串口的通讯,每次通讯历时700ms,主程序关闭时经常会提示68K内存泄漏或者句柄泄漏,一查,原因在于主程序关闭资源释放之后,线程仍在工作。主要参考这篇文章。
解决方法是:
1、线程里的通讯死循环改造为用标志位判断;
2、主程序关闭的时候设置这个标志位为FLASE;
3、线程里return0之前设置事件;
4、主线程关闭前用WaitForSingleObject等待线程完全退出,释放资源;
5、主线程正常退出。
程序里主线程进行界面的维护,工作者线程后台进行串口的通讯,每次通讯历时700ms,主程序关闭时经常会提示68K内存泄漏或者句柄泄漏,一查,原因在于主程序关闭资源释放之后,线程仍在工作。主要参考这篇文章。
解决方法是:
1、线程里的通讯死循环改造为用标志位判断;
2、主程序关闭的时候设置这个标志位为FLASE;
3、线程里return0之前设置事件;
4、主线程关闭前用WaitForSingleObject等待线程完全退出,释放资源;
5、主线程正常退出。