线程

VC++线程安全退出

完善线程退出机制 加入线程退出条件变量m_bQuitThread, 初始化为false. 在线程内的循环中加入退出变量检测,当m_bQuitThread为true时,主动结束线程 在程序退出时,首先设置m_bQuitThread为true,而后使用WaitForSingleObject等待线程完全退出 代码 CDialogList::CDialogList(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_DIALOG_LIST, pParent) { m_bQuitThread = false; } // 启动线程 m_refreshLatencyThread = AfxBeginThread((AFX_THREADPROC)RefreshThread, this); // 退出逻辑 void CDialogrList::EndThread() { m_bQuitThread = true; WaitForSingleObject(m_refreshLatencyThread->m_hThread, INFINITE); TRACE(TEXT("线程已经退出")); } 这么做其实是有问题的。假设一种情况,EndThread()中,m_bQuitThread = true和WaitFor...
执行时间: 31.730175018311 毫秒