摘要:終止線程; _endthread 會終止 由 _beginthread 建立的線程,並 _endthreadex 終止 由 _beginthreadex所建立的線程。 語法 void _endthread( void ); void _endthreadex( unsig
終止線程; _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
_endthreadex
如需相容性詳細資訊,請參閱相容性。
程式庫
僅限 C 執行階段程式庫 的多執行緒版本。
範例
請參閱 _beginthread 的範例。
另請參閱
進程和環境控制
_beginthread, _beginthreadex