在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
函數獲取系統分頁大小。