为什么AfxBeginThread后只执行了一次
我AfxBeginThread后, 在PROC函数里面断点, 为什么不会重复执行啊, 就只执行了一次.
代码:
AfxBeginThread((AFX_THREADPROC)CheckSoftDog,(LPVOID)this,THREAD_PRIORITY_NORMAL,0,0,NULL);
static AFX_THREADPROC __stdcall CheckSoftDog(LPVOID lParam)
{
CPage_Com *p = (CPage_Com*)lParam;
p-> m_nTotalPort = p-> DllUtil.GetPortMax();
if(p-> m_nTotalPort == -1)
{
p-> m_cWarning.SetTextColor(RGB(255,0,0));
p-> m_cWarning.SetWindowText(wcscat(ttt,_T( "没有找到! ")));
}
else
{
p-> m_cWarning.SetWindowText(_T( " "));
}
Sleep(1000);
return 0;
}
代码是没有问题的, 只是不知道为什么只执行一次???
AfxBeginThread启动的线程什么时候会自动结束吗???
[解决办法]
你的代码就只是执行了一遍啊,要想重复执行,加个while(1)就行了
[解决办法]
线程函数结束时,线程也结束了啊
也可以通过exitthread()terminatethread()