非常教程

C参考手册

线程支持 | Thread support

thrd_exit

在头文件<threads.h>中定义

_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):
    • 7.26.5.5 thrd_exit函数(p:384)

扩展内容

thrd_join(C11)

阻塞,直到线程终止(功能)

thrd_detach(C11)

分离线程(功能)