我写了个控制台程序text.exe,也没做什么,为什么进程的内存使用量越来越大呢,哪里出了问题。
text.exe代码如下:
// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <Windows.h>
#include <process.h>
void cdecl EventLoop(void* pl)
{
free(pl);
_endthread();
return;
}
void MakeThread()
{
void* pp=(void*)malloc(1024);
_beginthread(EventLoop,0,pp);
}
int _tmain(int argc, _TCHAR* argv[])
{
::Sleep(5000);
while(true)
{
for (int a=0;a<20000;a++)//创建多个线程。
{
MakeThread();
}
/*
进程进入空闲状态,查看任务管理器,随着时间的流逝,我发现进程使用的内存大小缓慢增加。
我观察了二十多分钟。
*/
for (int b=0;b<7;b++)
{
Sleep(1000);
}
}
return 0;
}
------解决思路----------------------
void* pp=(void*)malloc(1024);
在哪free?