首頁 > 後端開發 > C++ > 取得並設定C語言中線程屬性的堆疊大小

取得並設定C語言中線程屬性的堆疊大小

WBOY
發布: 2023-09-13 13:17:02
轉載
898 人瀏覽過

取得並設定C語言中線程屬性的堆疊大小

要在C中取得並設定執行緒屬性的堆疊大小,我們使用下列執行緒屬性:

pthread_attr_getstacksize()

#用於取得執行緒堆疊大小。 stacksize屬性給出了分配給執行緒堆疊的最小堆疊大小。如果成功運行,則傳回0,否則傳回任何值。

它接受兩個參數:

pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)

  • #第一個參數是pthread屬性。
  • 第二個參數是執行緒屬性的大小。

pthread_attr_setstacksize()

用於設定新的執行緒堆疊大小。 stacksize屬性給出了分配給執行緒堆疊的最小堆疊大小。如果成功運行,則傳回0,否則傳回任何值。

它接受兩個參數:

pthread_attr_setstacksize(pthread_attr_t *attr, size_t *stacksize)

  • #第一個參數是pthread屬性。
  • 第二個參數是以位元組為單位的新堆疊大小。

演算法

Begin
   Declare stack size and declare pthread attribute a.
   Gets the current stacksize by pthread_attr_getstacksize() and print it.
   Set the new stack size by pthread_attr_setstacksize() and get the stack size pthread_attr_getstacksize() and print it.
End
登入後複製

範例程式碼

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

int main() {
   size_t stacksize;
   pthread_attr_t a;
   pthread_attr_getstacksize(&a, &stacksize);
   printf("Current stack size = %d</p><p>", stacksize);
   pthread_attr_setstacksize(&a, 67626);
   pthread_attr_getstacksize(&a, &stacksize);
   printf("New stack size= %d</p><p>", stacksize);
   return 0;
}
登入後複製

輸出

Current stack size = 50
New stack size= 67626
登入後複製

以上是取得並設定C語言中線程屬性的堆疊大小的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板