thrd_exit
|
헤더 파일에 정의됨
<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)
참고 항목
|
(C11)
|
스레드가 종료될 때까지 블록
(함수) |
|
(C11)
|
스레드를 분리
(함수) |