_endthread、_endthreadex
_beginthread か _beginthreadexによって作成されるスレッドを個別に終了します。
重要 |
---|
この API は、Windows のランタイムで実行するアプリケーションで使用することはできません。詳細については、でサポート /ZW CRT 関数" "を参照してください。 |
void _endthread( void );
void _endthreadex(
unsigned retval
);
パラメーター
- retval
スレッドの終了コード。
解説
スレッドを終了するには _endthread かを明示的に呼び出すこともできます _endthreadex ; ただし、スレッドが _beginthread か _beginthreadexにパラメーターとして渡されるルーチンから戻ると _endthread か _endthreadex は自動的に呼び出されます。呼び出しでスレッドを endthread か _endthreadex ヘルプに終了したスレッドに割り当てられていたリソースを適切に回復を確認します。
[!メモ]
Libcmt.lib にリンクする実行可能ファイルに Win32 API ExitThread を呼び出さないでください; これは、ランタイム システムが割り当てられたリソースを再利用できなくなります。_endthread と _endthreadex は、割り当てられているスレッド リソースを解放し、ExitThread を呼び出します。
_endthread は、スレッド ハンドルを自動的に閉じます。(この動作は、Win32 ExitThread の API とは異なります。)したがって _beginthread と _endthreadを使用すると、明示的に CloseHandle Win32 API を呼び出してスレッド ハンドルは閉じないでください。
ExitThread Win32 API のように、_endthreadex はスレッド ハンドルを閉じません。したがって、_beginthreadex と _endthreadexを使用すると、CloseHandle Win32 API を呼び出してスレッド ハンドルを終了する必要があります。
[!メモ]
_endthread と _endthreadex は、スレッドで保留中の C++ デストラクターを呼び出します。
必要条件
Function |
必須ヘッダー |
---|---|
_endthread |
<process.h> |
_endthreadex |
<process.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
C ランタイム ライブラリのマルチスレッド バージョンのみ。
使用例
_beginthreadの例を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。