坐井以观天
分类: C/C++
2013-03-17 12:24:19
发信人: fec (lovemel), 信区: LinuxDev
标 题: Re: 线程的栈空间不够的时候,有几种解决途径?
发信站: 水木社区 (Sun Oct 10 21:38:26 2010), 站内
size_t size = min(10*PAGE_SIZE,PTHREAD_STACK_MIN);
void* base = get_from_mmap_memory(size);//从Mmap分配的虚拟内存中割一块
ret = pthread_attr_setstack(&tattr, base,size);
如果通常1个page的栈就够了,这样搞相当于9个page做溢出区,如果不溢出反正也是虚地址
,不会调页,无损失。