开启一个线程,定时刷新窗口

来源:互联网 发布:大华网络摄像机默认ip 编辑:程序博客网 时间:2024/06/05 17:16


一 开启线程


//设置一个信号量,判断是否线程结束

HANDLE g_hTic2 = CreateEvent(NULL, TRUE, TRUE, NULL);



View::StartTick2(int nSeconds){m_bStopTic2 = FALSE;AfxBeginThread(Tic2, this);}

UINT  Tic2(LPVOID pTView){CMyView *pView = (CMyView *)pTView;ResetEvent(pView->g_hTic2);//重置为无信号while (!pView->m_bStopTic2){//间隔多少时间刷新Sleep(g_nShanshuoPinlv);if (!pView->m_bMoveCapitalStart){pView->InvalidateChunk(pView->pContentChunk);}}SetEvent(pView->g_hTic2); //有信号return 1;}



二关闭线程

View::EndTic2(){m_bStopTic2 = TRUE;WaitForSingleObject(g_hTic2, INFINITE);}



在关闭程序时候,可以先关闭刷新线程

View::CloseApp(){EndTic2();((CMainFrame *)AfxGetMainWnd())->OnClose();exit(0);}


原创粉丝点击