首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

为什么AfxBeginThread后只执行了一次解决思路

2012-01-29 
为什么AfxBeginThread后只执行了一次我AfxBeginThread后,在PROC函数里面断点,为什么不会重复执行啊,就只执

为什么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()

热点排行