修改线程栈空间大小

3606阅读 0评论2009-08-19 zhongteng
分类:LINUX

Linux平台使用如下函数操作POSIX线程栈空间:
int pthread_attr_setstacksize(pthread_attr_t *threadAttr, int stack_size);//设置
int pthread_attr_getstacksize(pthread_attr_t *threadAttr, int stack_size);//取得

马上使用上述函数进行了测试,流程如下:
在 Linux 中,栈大小在线程属性对象中设置,也就是说,将类型为“pthread_attr_t”的参数“threadAttr”传递给函数 pthread_create()。在设置属性之前,需要通过调用 pthread_attr_init() 来初始化这个对象,然后使用pthread_attr_setstacksize()函数设置线程栈空间大小,单位为字节;接着调用pthread_create()创建线程,完毕后调用 pthread_attr_destroy()来销毁属性对象。把线程栈空间设置为2M后进行了测试,确认成功减小了创建线程消耗的虚拟内存了。
 
上一篇:shell问答
下一篇:堆、栈、自由存储区、全局/静态存储区和常量存储区