thrd_exit
|
定义于头文件
<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)
参见
|
(C11)
|
阻塞直至线程终止
(函数) |
|
(C11)
|
分离线程
(函数) |