_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
範例。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應