各位大侠,我新建了一个socket1类后,在这个socket1类的OnAccess下,新建了另一个socket2的内存,然后access 这个socket2,接下来创建线程,但线程结束后,新建的socket2内存没有执行释放,从而导致内存泄漏,我在线程执行完后,删除这个socket2后,就可以,但我不想在主程序执行删除,想在线程里删除占用的socket2空间,使程序不会导致过慢而假死,请教大虾们该如何做,下面我说一下大概的代码:
void OnAccess(int nErrorCode)

       Socket* socket2= new Socket   //Socket2定义在外面,这里为了代码清楚:执行完成后,在这里的内在没有释放,在toAcceptTread里我怎么都无法释放掉这块内存
        Accept(*socket2,(SOCKADDR*)&lpsockvman,&sll);
hThread=CreateThread(NULL,0,&toAcceptTread,this,0,NULL);
}unsigned long __stdcall CSvrVman::toAcceptTread( LPVOID pParam )
{
       CSendSock *sendbindsock=((Socket1*)pParam)->Socket2;
       ...
       return 0;
}