thrd_exit
提供: cppreference.com
ヘッダ <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)
[編集]関連項目
(C11) | スレッドが終了するまでブロックします (関数) |
(C11) | スレッドをデタッチします (関数) |