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) | 分离线程(功能) |