[源代码]求更简单的等待结束线程。OnBnClickedButtonStartThread()开启线程。OnBnClickedButtonEndThrad()等
[源代码]求更简单的等待结束线程。
OnBnClickedButtonStartThread()开启线程。
OnBnClickedButtonEndThrad()等待线程结束再执行。
求更简化的代码。
- C/C++ code
bool g_bEndThread = false;HANDLE g_hEndThreadEvent = CreateEvent(NULL ,TRUE ,FALSE ,NULL);UINT __cdecl RunThread( LPVOID pParam ){ while (1) { Sleep(3000); if (g_bEndThread) { SetEvent(g_hEndThreadEvent); return 0; } TRACE("loop\n"); }}void CThreadEventDlg::OnBnClickedButtonStartThread(){ g_bEndThread = false; ResetEvent(g_hEndThreadEvent); AfxBeginThread(RunThread ,NULL);}void CThreadEventDlg::OnBnClickedButtonEndThrad(){ g_bEndThread = true; WORD wRet = WaitForSingleObject(g_hEndThreadEvent ,INFINITE); if (WAIT_TIMEOUT == wRet) { // time out } if (WAIT_OBJECT_0 == wRet) { MessageBox(_T("Thread end")); return ; }}[解决办法]
就这几行代码,还想优化,用MFC是不太可能了
[解决办法]
起线程
HANDLE hThread=beginthread(xxxx);
停止线程
run=false;
WaitForSingleObject(hThread,INFINITE);
[解决办法]
线程里面
是
while(run){
xxxxxxxx...
};
