线程堆栈大小
时间:2010-08-27 来源:g_hk
最后发现和:stack size (kbytes, -s) 4096 这个参数有关,可以用ulimit -a查看,修改用ulimit -s
我测试了Linux/HPUX 11.23 IA64两个环境的,测试结果基本差不多。
进程中可以自己设置线程堆栈大小:
pthread_t thrid;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
pthread_attr_setstacksize(&attr,4*1024);
for (i=1; i>0; i++)
{
if (pthread_create(&thrid, &attr, child_loop, (void *)i) != 0)
{
printf("create thread count:%d err:%d-%s\n", i, errno, strerror(errno));
break;
}
}
HPUX最后输出:
....
248 thr#249 loop...
create thread count:249 err:12-Not enough space
int nthr = 0; |