名前空間
変種
操作

thrd_exit

提供: cppreference.com
< c‎ | thread
ヘッダ <threads.h> で定義
_Noreturn void thrd_exit(int res );
(C11以上)

まず、非ヌルのデストラクタを指定して作成され (tss_create を参照)、紐付けられた値が非ヌルなすべてのスレッドローカルストレージのキーについて、そのキーに紐付けられた値に NULL を設定し、そのキーの以前の値でデストラクタを呼びます。 デストラクタが呼ばれる順序は未規定です。

その後、デストラクタと値がどちらも非ヌルなキーが残っていれば (例えばデストラクタが tss_set を実行した場合)、最大 TSS_DTOR_ITERATIONS 回まで、その処理が繰り返されます。

最後に、呼び出し元スレッドの実行を終了し、結果コードを res に設定します。

プログラムの最後のスレッドが thrd_exit で終了した場合は、 EXIT_SUCCESS を引数として exit を呼んだかのように、プログラム全体が終了します (そのため、その最後のスレッドのコンテキストで、 atexit に登録した関数が実行されます)。

目次

[編集]引数

res - 返す結果の値

[編集]戻り値

(なし)

[編集]参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.26.5.5 The thrd_exit function (p: 384)

[編集]関連項目

スレッドが終了するまでブロックします
(関数)[edit]
スレッドをデタッチします
(関数)[edit]
close