Namespaces
Variants

thrd_exit

From cppreference.net
定义于头文件 <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 函数 (页: 384)

参见

阻塞直至线程终止
(函数)
分离线程
(函数)