我有一个DLL,其中包含一个名为CWork的基于CWinThread的类。我使用AfxBeginThread创建它。
在这个类中,我定义了一个无限循环并执行某个任务的过程。这个过程将作为一个线程被单独使用。我也使用AfxBeginThread创建它。
现在,当我的DLL退出时,我想结束这个线程。这是因为我在退出时遇到了崩溃,并且我担心这就是原因。
另外还有伪代码示例:
class Cmain
在这个类中,我定义了一个无限循环并执行某个任务的过程。这个过程将作为一个线程被单独使用。我也使用AfxBeginThread创建它。
现在,当我的DLL退出时,我想结束这个线程。这是因为我在退出时遇到了崩溃,并且我担心这就是原因。
另外还有伪代码示例:
class Cmain
Cmain::Cmain(){
pMyThread = AfxBeginThread(CWork - a CWinThread based Class);
}
UINT HandleNextVTSConnectionCommandProc(LPVOID pParam);
class CWork
CWork:CWork(){
AfxBeginThread(HandleNextVTSConnectionCommandProc, this);
}
UINT HandleNextVTSConnectionCommandProc(LPVOID pParam){
while(true){
dosomething();
sleep(2000);
}
}
我的问题是,结束这两个线程的正确方法是什么?
谢谢!
RUNTIME_CLASS
宏的作用,那么你注定会失败。对于你的直接问题,答案很简单:你可以像终止其他线程一样终止该线程。请务必阅读学习MFC编程的先决条件,你会感激自己这样做的。 - IInspectable