C++ 在一个线程new在另一个线程delete 10
//useworkthread.SSaveUserInfoToAccountServer*pInfo=NULL;pInfo=newSSaveUserInfoToAccou...
//use work thread.
SSaveUserInfoToAccountServer* pInfo = NULL;
pInfo = new SSaveUserInfoToAccountServer;
我在一个函数中new了一个空间。然后
pthread_t tid;
if (0 != pthread_create(&tid,NULL,threadSaveUserInfo,pInfo))
把指针传入创建的线程。
void* threadSaveUserInfo(void* pPara)
{
SSaveUserInfoToAccountServer* pInfo = (SSaveUserInfoToAccountServer*) pPara;
int nSock = socket(AF_INET,SOCK_STREAM,0);
if (nSock<= 0)
{
delete pInfo;
return NULL;
}
...
//一些操作
...
delete pInfo;
return NULL;
}
看下面。为啥虚拟内存会越来越大?难道没有delelte掉么?(就是在while(true)中 new-》传创建线程-》执行。)
(37311是VIRT ,221是res)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13522 root 20 0 37311m 221m 134m R 1.3 22.3 1:14.59 zoneserver 展开
SSaveUserInfoToAccountServer* pInfo = NULL;
pInfo = new SSaveUserInfoToAccountServer;
我在一个函数中new了一个空间。然后
pthread_t tid;
if (0 != pthread_create(&tid,NULL,threadSaveUserInfo,pInfo))
把指针传入创建的线程。
void* threadSaveUserInfo(void* pPara)
{
SSaveUserInfoToAccountServer* pInfo = (SSaveUserInfoToAccountServer*) pPara;
int nSock = socket(AF_INET,SOCK_STREAM,0);
if (nSock<= 0)
{
delete pInfo;
return NULL;
}
...
//一些操作
...
delete pInfo;
return NULL;
}
看下面。为啥虚拟内存会越来越大?难道没有delelte掉么?(就是在while(true)中 new-》传创建线程-》执行。)
(37311是VIRT ,221是res)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13522 root 20 0 37311m 221m 134m R 1.3 22.3 1:14.59 zoneserver 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询