Share via


_endthread, _endthreadex

終止執行緒; _endthread 會終止 由 _beginthread 建立的執行緒,並 _endthreadex 終止 由 _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 範例。

另請參閱

進程和環境控制
_beginthread, _beginthreadex