今天测试了下我电脑上可以起多少条进程 和电脑配置等有关 就本人自己计算机测试程序做下记录 代码如下:
#define MAX_THREADS 50000
#include <Windows.h>
#include <stdio.h>
DWORD CreatChildProcess(LPSTR szChildProcessCmd)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
for (int i = 0; i < MAX_THREADS; i++)
{
if ( ! CreateProcess(NULL,
szChildProcessCmd,
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi)
)
{
printf("creat fail %d./n",GetLastError());
break;
}
else
{
printf("第%d条进程./n",i);
}
}
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;
}
int main()
{
CreatChildProcess("D://应用程序//demo//debug//demo.exe");//启动的进程目录
Sleep(10000000);
}
进程demo.exe里面什么都没做 只有一个死循环防止进程退出所以占用的资源比较少 因此起的进程数目也比较多
先看代码:
int main()//demo.exe的主函数 里面什么都没做 死循环防止进程退出
{
while(1)
{
Sleep(1000);
}
}
看下运行结果:、
呵呵 这是我机子上的测试结果 你的电脑和我的配置不同结果也会不同