dus*_*kin 4 c++ winapi mfc multithreading
我有一个DLL,它有一个名为CWork的基于CWinThread的类.我使用AfxBeginThread创建它.
在这个类中,我定义了一个将infinet循环并执行某个任务的过程.此过程将单独用作线程.我也使用AfxBeginThread创建它.
现在,当我的DLL退出时,我想结束线程.这是因为我退出时遇到了崩溃,我很担心这就是原因.
另外,还有
伪代码示例:
Cmain类
Cmain::Cmain(){
pMyThread = AfxBeginThread(CWork - a CWinThread based Class);
}
Run Code Online (Sandbox Code Playgroud)
UINT HandleNextVTSConnectionCommandProc(LPVOID pParam);
class CWork
CWork:CWork(){
AfxBeginThread(HandleNextVTSConnectionCommandProc, this);
}
UINT HandleNextVTSConnectionCommandProc(LPVOID pParam){
while(true){
dosomething();
sleep(2000);
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,结束这两个线程的正确方法是什么?
谢谢!
一般来说,结束线程的正确方法是让它完成,然后等待它完成.因此,在Windows上,您可能会发出一个事件,要求线程完成,然后等待线程HANDLE.强行终止一个线程几乎总是一个被误导的想法,它会回来困扰你.