Chinaunix首页 | 论坛 | 博客
  • 博客访问: 190197
  • 博文数量: 75
  • 博客积分: 2136
  • 博客等级: 大尉
  • 技术积分: 712
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-03 09:38
文章分类

全部博文(75)

文章存档

2011年(6)

2010年(17)

2009年(52)

我的朋友

分类: LINUX

2009-08-19 15:23:12

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后进行了测试,确认成功减小了创建线程消耗的虚拟内存了。
 
阅读(3633) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~