阅读量:2
在Linux系统中,线程栈大小可以通过pthread_attr_setstacksize函数来设置。以下是设置线程栈大小的示例代码:
#include <pthread.h> int main() { pthread_t thread; pthread_attr_t attr; size_t stacksize = 1024 * 1024; // 设置为1MB pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, stacksize); // 创建线程,并传入设置好的attr属性 pthread_create(&thread, &attr, my_thread_function, NULL); // 线程创建完成后,可以销毁attr属性 pthread_attr_destroy(&attr); // 等待线程结束 pthread_join(thread, NULL); return 0; }
在上述示例中,pthread_attr_setstacksize函数用于设置线程属性attr的栈大小。设置完成后,可以使用pthread_create函数创建线程,并将设置好的attr属性传递给它。在线程创建完成后,可以使用pthread_attr_destroy函数销毁attr属性。
需要注意的是,线程栈大小的设置可能受到系统限制,不能超过系统允许的最大值。