//Windows下的做法是这样的: /*开始线程*/ if(!hThreadRun) { bThreadRunFlag=TRUE; hThreadRun = CreateThread(NULL, 0, ThreadRun, NULL, 0, NULL); } /*线程函数ThreadRun中*/ while(bThreadRunFlag) { //....do something.... } /*结束时*/ if(m_hThreadRun) { bThreadRunFlag=FALSE; Sleep(500); //等待6秒 DWORD dwRet = WaitForSingleObject(hThreadRun, 6000); if(dwRet==WAIT_TIMEOUT) { /*强行中止线程退出码*/ TerminateThread(hThreadRun,1041); } else if(dwRet == WAIT_OBJECT_0) { //正常退出 } CLOSE_HANDLE(hThreadRun); };
保证线程退出的方法
最新推荐文章于 2020-11-28 19:44:56 发布