Namespaces
Variants

thrd_exit

From cppreference.net
헤더 파일에 정의됨 <threads.h>
_Noreturn void thrd_exit ( int res ) ;
(C11부터)
(C23까지)
[ [ noreturn ] ] void thrd_exit ( int res ) ;
(C23부터)

먼저, 널이 아닌 소멸자와 함께 생성되었고 연관된 값이 널이 아닌 모든 스레드별 저장소 키에 대해( tss_create 참조), thrd_exit 는 키와 연관된 값을 NULL 로 설정한 다음, 키의 이전 값으로 소멸자를 호출합니다. 소멸자가 호출되는 순서는 명시되지 않습니다.

만약 이 후에도 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 The thrd_exit 함수 (p: 280)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.26.5.5 thrd_exit 함수 (p: 384)

참고 항목

스레드가 종료될 때까지 블록
(함수)
스레드를 분리
(함수)