新手求教,MFC里UI线程和工作线程的创建和参
1个回答
展开全部
1.用AfxBeginThread创建的线程结束时,不必调用什么函数,只要return 就可以了,主线程可以通过消息或事件(推荐)来结束线程。如下:
HANDLE hStop;
UINT TestThread(LPVOID)
{
while(true)
{
DWORD ret=WaitForSingleObject(hStop,0);
if (ret==WAIT_OBJECT_0) //有停止事件
{
break;
}
//do somthing...
}
return 0L;
}
CTestView::OnAAAClick()
{
hStop=CreateEvent(NULL,FALSE,FALSE,NULL);
AfxBeginThread(TestThread,NULL); //开始线程
}
CTestView::OnBBBClick()
{
SetEvent(hStop); //结束线程
CloseHandle(hStop);
}
HANDLE hStop;
UINT TestThread(LPVOID)
{
while(true)
{
DWORD ret=WaitForSingleObject(hStop,0);
if (ret==WAIT_OBJECT_0) //有停止事件
{
break;
}
//do somthing...
}
return 0L;
}
CTestView::OnAAAClick()
{
hStop=CreateEvent(NULL,FALSE,FALSE,NULL);
AfxBeginThread(TestThread,NULL); //开始线程
}
CTestView::OnBBBClick()
{
SetEvent(hStop); //结束线程
CloseHandle(hStop);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询