_endthread
, _endthreadex
스레드를 종료합니다. _endthread
에서 만든 스레드를 종료하고 _endthreadex
에 의해 _beginthread
_beginthreadex
만들어진 스레드를 종료합니다.
구문
void _endthread( void );
void _endthreadex(
unsigned retval
);
매개 변수
retval
스레드 종료 코드입니다.
설명
_endthread
또는 _endthreadex
를 명시적으로 호출하여 스레드를 종료할 수 있지만 스레드가 _endthread
또는 _endthreadex
에 매개 변수로 전달된 루틴에서 반환되면 _beginthread
또는 _beginthreadex
는 자동으로 호출됩니다. endthread
또는 _endthreadex
에 대한 호출로 스레드를 종료하면 스레드에 할당된 리소스의 적절한 복구를 보장하는 데 도움이 됩니다.
참고 항목
Libcmt.lib와 연결된 실행 파일의 경우 Win32 ExitThread
API를 호출하지 마세요. 이렇게 하면 런타임 시스템이 할당된 리소스를 회수할 수 없습니다. _endthread
및 _endthreadex
는 할당된 스레드 리소스를 회수한 다음 ExitThread
를 호출합니다.
_endthread
는 스레드 핸들을 자동으로 닫습니다. (이 동작은 Win32 ExitThread
와 다릅니다. API.) 따라서 사용하고 _beginthread
_endthread
사용하는 경우 Win32 CloseHandle
API를 호출하여 스레드 핸들을 명시적으로 닫지 마세요.
Win32 ExitThread
API _endthreadex
와 마찬가지로 스레드 핸들을 닫지 않습니다. 따라서 _beginthreadex
및 _endthreadex
를 사용할 때는 Win32 CloseHandle
API를 호출해서 스레드 핸들을 닫아야 합니다.
참고 항목
_endthread
및 _endthreadex
는 호출되지 않은 스레드에서 C++ 소멸자가 보류되도록 합니다.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
함수 | 필수 헤더 |
---|---|
_endthread |
<process.h> |
_endthreadex |
<process.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
라이브러리
다중 스레드 버전의 유일한 C 런타임 라이브러리 입니다.
예시
_beginthread
에 대한 예를 참조하세요.