名稱空間
變體
操作

thrd_exit

來自 cppreference.com
< c‎ | thread
在標頭檔案 <threads.h> 中定義
_Noreturn void thrd_exit( int res );
(C11 起)
(直至 C23)
[[noreturn]] void thrd_exit( int res );
(自 C23 起)

首先,對於每個使用非空解構函式建立且關聯值為非空的執行緒區域性儲存鍵(參見 tss_create),thrd_exit 將與該鍵關聯的值設定為 NULL,然後使用鍵的先前值呼叫解構函式。呼叫解構函式的順序未指定。

如果在此之後,仍然存在具有非空解構函式和非空值的鍵(例如,如果解構函式執行了 tss_set),則重複此過程,最多重複 TSS_DTOR_ITERATIONS 次。

最後,thrd_exit 函式終止呼叫執行緒的執行,並將其結果程式碼設定為 res

如果程式中的最後一個執行緒透過 thrd_exit 終止,則整個程式終止,就像呼叫 exit 並以 EXIT_SUCCESS 作為引數(因此 atexit 註冊的函式在該最後一個執行緒的上下文中執行)。

目錄

[編輯] 引數

res - 要返回的結果值

[編輯] 返回值

(無)

[編輯] 參考

  • C17 標準 (ISO/IEC 9899:2018)
  • 7.26.5.5 thrd_exit 函式 (p: 280)
  • C11 標準 (ISO/IEC 9899:2011)
  • 7.26.5.5 thrd_exit 函式 (p: 384)

[編輯] 另請參見

阻塞直到執行緒終止
(函式) [編輯]
分離執行緒
(函式) [編輯]