次の方法で共有


_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 を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

プロセス制御と環境制御

_beginthread、_beginthreadex