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 番目のパラメータは、新しいスタック サイズ (バイト単位) です。
アルゴリズム
1 2 3 4 5 | 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
|
ログイン後にコピー
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 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;
}
|
ログイン後にコピー
出力
1 2 | Current stack size = 50
New stack size= 67626
|
ログイン後にコピー
以上がC言語でスレッドプロパティのスタックサイズを取得および設定します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。