MFC下主线程创建socket子线程,用于接收数据和刷新窗口下载数字..
当主线程使用closesocket并Sleep等待子线程退出时,子线程却阻塞无法退出,经调试发现子线程在操作MFC的列表控件时的那一句阻塞了,无法退出。。
m_pDlg->m_fileList.SetItem(&lvi); //在这一句停下了,无法返回。。
原因分析:windows是基于消息基制的,当主线程Sleep后,控件无法接收消息并响应,也就是所有控件已经睡眠了,无法修改。。
MFC下主线程创建socket子线程,用于接收数据和刷新窗口下载数字..
当主线程使用closesocket并Sleep等待子线程退出时,子线程却阻塞无法退出,经调试发现子线程在操作MFC的列表控件时的那一句阻塞了,无法退出。。
m_pDlg->m_fileList.SetItem(&lvi); //在这一句停下了,无法返回。。
原因分析:windows是基于消息基制的,当主线程Sleep后,控件无法接收消息并响应,也就是所有控件已经睡眠了,无法修改。。