다음을 통해 공유


_endthread, _endthreadex

스레드를 종료합니다. _endthread는 _beginthread로 만든 스레드를 종료하고 _endthreadex는 _beginthreadex로 만든 스레드를 종료합니다.

중요

이 API는 Windows 런타임에서 실행되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 CRT 함수는 /ZW 옵션을 지원하지 않음을 참조하세요.

void _endthread( void ); void _endthreadex(     unsigned retval  );

매개 변수

  • retval
    스레드 종료 코드입니다.

설명

_endthread 또는 _endthreadex를 명시적으로 호출하여 스레드를 종료할 수 있지만 스레드가 _beginthread 또는 _beginthreadex에 매개 변수로 전달된 루틴에서 반환되면 _endthread 또는 _endthreadex는 자동으로 호출됩니다. endthread 또는 _endthreadex에 대한 호출로 스레드를 종료하면 스레드에 할당된 리소스의 적절한 복구를 보장하는 데 도움이 됩니다.

참고

Libcmt.lib로 연결된 실행 파일의 경우 Win32 ExitThread API를 호출하지 마세요. 이 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++ 소멸자가 보류되도록 합니다.

요구 사항

함수

필수 헤더

_endthread

<process.h>

_endthreadex

<process.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

라이브러리

다중 스레드 버전의 유일한 C 런타임 라이브러리입니다.

예제

_beginthread에 대한 예를 참조하세요.

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.

참고 항목

참조

프로세스 및 환경 제어

_beginthread, _beginthreadex