thrd_exit

thrd_exit

在头文件中定义
_Noreturn void thrd_exit(int res);(自C11以来)

首先,对于每个使用非null析构函数创建且针对其的关联值非空的线程特定的存储键(请参阅参考资料tss_create),thrd_exit将与该关键字相关的值设置为NULL,然后调用具有先前值的析构函数钥匙。未指定析构函数的调用顺序。

如果在此之后仍然存在非空的析构函数和值的键(例如,如果析构函数执行了tss_set),则该过程重复直到TSS_DTOR_ITERATIONS次。

最后,thrd_exit函数终止调用线程的执行并将其结果代码设置为res

如果程序中的最后一个线程以thrd_exit结束,那么整个程序终止,就像通过以EXIT_SUCCESS作为参数调用exit一样(所以由atexit注册的函数在最后一个线程的上下文中执行)。

参数

-结果值返回

返回值

(无).

参考

  • C11标准(ISO / IEC 9899:2011):

扩展内容

thrd_join(C11)阻塞,直到线程终止(功能)
thrd_detach(C11)分离线程(功能)