2.3 线程实验2---Windows下可创建的线程的数目的测试:
这里使用的是让测试线程睡眠100秒,如果用的是让测试进程进入死循环的方法,则会很快让系统僵掉。
/*测试程序3:
测试在Windows下最多可创建线程的数目.
*/
DWORD WINAPI threadWork(LPVOID threadNo)
{
DWORD result=0;
while(runFlag)
{
Sleep(100000);
}
//Terminate
return result;
}
void main(int argc,char* argv[])
{
int count=0;
DWORD targetThreadID;
while(runFlag)
{
if(CreateThread(NULL,0,threadWork,NULL,0,&targetThreadID)==NULL)
{
runFlag=false;
break;
}
else
count++;
printf("%d ",count);
}
Sleep(5000);
printf("max threads num:%d\n",count);
printf("Program ends successfully\n");
}
在Windows XP下(赛扬800MHZ,256M内存),在上述方式下,测得可创建的最多的线程数目为2030个.
