int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
stacksize
属性は、作成されたスレッドのスタック用に割り当てられた(バイト)最小スタックサイズを定義しなければなりません。
この例では、スタックサイズは8388608バイトに設定されています。これは、コマンドulimit -s
So that matchから返される8MBに相当します。
pthread_create()
説明から:
上のLinux / x86-32、新しいスレッドのデフォルトのスタックサイズは2メガバイト。NPTLスレッド実装
では、プログラム開始時のRLIMIT_STACKソフトリソース制限に「無制限」以外の値がある場合、新しいスレッドのデフォルトスタックサイズが決定されます。使用pthread_attr_setstacksizeを(3)、スタックサイズ属性は、明示的にデフォルト以外のスタックサイズを得るためには、スレッドを作成するために使用される引数attrに設定することができます。
したがって、スレッドスタックサイズは、上記のset関数またはulimit
システムプロパティを使用して設定できます。参照している16kについては、どのプラットフォームでそれを見たか、および/またはこれにシステム制限が設定されているかどうかは明らかではありません。
参照してくださいpthread_createのページをして、ここで、この上でいくつかの興味深い例について。
8388608 / 1024 = 8192
。