ホームページ  >  記事  >  バックエンド開発  >  C言語でスレッドプロパティのスタックサイズを取得および設定します。

C言語でスレッドプロパティのスタックサイズを取得および設定します。

WBOY
WBOY転載
2023-09-13 13:17:02845ブラウズ

C言語でスレッドプロパティのスタックサイズを取得および設定します。

C でスレッド属性のスタック サイズを取得および設定するには、次のスレッド属性を使用します。

pthread_attr_getstacksize()

が使用されます。スレッドスタックサイズを取得します。 stacksize 属性は、スレッド スタックに割り当てられる最小スタック サイズを指定します。正常に実行された場合は 0 を返し、それ以外の場合は任意の値を返します。

これは 2 つのパラメータを受け入れます:

pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)

  • 最初のパラメータは pthread 属性です。
  • 2 番目のパラメータは、スレッド属性のサイズです。

pthread_attr_setstacksize()

は、新しいスレッド スタック サイズを設定するために使用されます。 stacksize 属性は、スレッド スタックに割り当てられる最小スタック サイズを指定します。正常に実行された場合は 0 を返し、それ以外の場合は任意の値を返します。

これは 2 つのパラメータを受け入れます:

pthread_attr_setstacksize(pthread_attr_t *attr, size_t *stacksize)

  • 最初のパラメータは pthread 属性です。
  • 2 番目のパラメータは、新しいスタック サイズ (バイト単位) です。

アルゴリズム

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。