进程的地址空间分成代码段,静态数据段,堆和栈段。线程栈的位置和大小是从它所属的进程的栈中切分出来的。每个栈必须足够大,以容纳所有对等线程的函数的执行以及它们将会调用的例程链。或许你会问为什么要进行线程栈的管理?因为栈的管理由系统自动管理。但是针对具体问题,有可能系统自动管理的栈不能满足运行的要求,这时对线程的栈的管理是必要的。本文分为三个部分,第一部分给出管理线程栈的代码示例,第二部分对代码进行讲解,第三部分给出运行结果。
一 代码示例
本例程利用线程的属性对象,获取栈的大小,并改变栈的大小。
二 代码讲解
定义全局属性对象变量attr,定义线程所需要执行的函数dowork,该函数通过pthread_attr_getstacksize ()获取所执行线程的栈大小,打印输出。
学习pthreads,管理线程的栈,布布扣,bubuko.com
原文地址:http://blog.csdn.net/helei001/article/details/38517233