vc++调用AfxBeginThread 内存增长 迅猛 直至软件报错
代码如下:
CSocket recClient;
while(1)
{
m_StatBar->SetText("等待客户端的连接...",1,0);
if(! m_Server.Accept(recClient))
AfxMessageBox("m_server.Accepst() error"+pdlg->GetError(GetLastError()));
m_StatBar->SetText("连接成功!",1,0);
CSectInfo *m_SectInfo=new CSectInfo();
m_SectInfo->clicksocket.Attach(recClient);
AfxBeginThread(ChuLiClientDataThread,(LPVOID)m_SectInfo);
if (pdlg->bStop)
{
AfxMessageBox("暂停!");
break;
}
if (pdlg->m_ListInfo.GetCount()>50)
{
pdlg->m_ListInfo.ResetContent();//清空数据
}
}
线程函数大概代码:
UINT ChuLiClientDataThread(LPVOID lParam)
{
CSectInfo* pSectInfo= (CSectInfo*)lParam;
CYZMServerDlg* pdlg=(CYZMServerDlg*)AfxGetApp()->GetMainWnd();
.
.
.
delete pSectInfo;
pSectInfo=NULL;
return 1;
}
大致就上面这样一个结构,内存增长很快,调用CreateThread也是一样,_afxbeginthread也无效。求高手指点,这到底是什么情况,困惑已久了。