endthread、

admin 4108次浏览

摘要:終止線程; _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

相关文章
友情链接