Spec-Zone.ru › C

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 (с. 280)
  • Стандарт C11 (ISO/IEC 9899:2011):
    • 7.26.5.5 Функция thrd_exit (с. 384)

См. также

thrd_join
(C11)
блокирует до завершения потока
(функция)
thrd_detach
(C11)
отделяет поток
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/thread/thrd_exit

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API