在Linux中,可以使用pthread_attr_setstacksize
函数来设置线程的堆栈大小。具体步骤如下:
首先,声明一个pthread_attr_t
类型的变量,用于存储线程属性。
pthread_attr_t attr;
使用pthread_attr_init
函数初始化线程属性变量。
pthread_attr_init(&attr);
使用pthread_attr_setstacksize
函数设置线程堆栈大小。
size_t stack_size = 8192; // 设置堆栈大小为8KB
pthread_attr_setstacksize(&attr, stack_size);
创建线程时,将上述线程属性变量作为参数传递给pthread_create
函数。
pthread_t thread;
pthread_create(&thread, &attr, thread_func, NULL);
最后,使用pthread_attr_destroy
函数销毁线程属性变量。
pthread_attr_destroy(&attr);
注意事项:
getpagesize
函数获取系统分页大小。