建議使用 Visual Studio 2017

_endthread、_endthreadex

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

中止執行緒; _endthread 會中止由 _beginthread 建立的執行緒,而 _endthreadex 會終止由_beginthreadex建立的執行緒。

void _endthread( void );  
void _endthreadex(   
   unsigned retval   
);  

參數

retval
執行緒結束代碼。

您可以明確地呼叫 _endthread_endthreadex 來終止執行緒。不過,當執行緒從作為參數傳遞至 _endthread_endthreadex 的常式傳回時,也會自動呼叫 _beginthread_beginthreadex。 透過呼叫 endthread_endthreadex 終止執行緒,有助於確保適當復原配置給執行緒的資源。

System_CAPS_ICON_note.jpg 注意

對於與 Libcmt.lib 連結的可執行檔,請勿呼叫 Win32 ExitThread 應用程式開發介面,這會阻止執行階段系統回收配置的資源。 _endthread_endthreadex 會回收配置的執行緒資源,然後呼叫 ExitThread

_endthread 會自動關閉執行緒控制代碼 (此行為與 Win32 ExitThread API 不同)。因此,當您使用_beginthread_endthread,不要明確地關閉執行緒控制代碼藉由呼叫 Win32 CloseHandle API。

像 Win32 ExitThread API 一樣, _endthreadex 不會關閉執行緒控制代碼。 因此,當您使用 _beginthreadex_endthreadex 時,您必須呼叫 Win32 CloseHandle API,以關閉執行緒控制代碼。

System_CAPS_ICON_note.jpg 注意

_endthread_endthreadex 會導致在執行緒中暫止的 C++ 解構函式不會被呼叫。

函式必要的標頭
_endthread<process.h>
_endthreadex<process.h>

如需相容性的詳細資訊,請參閱 Compatibility

僅限 C 執行階段程式庫 的多執行緒版本。

請參閱 _beginthread的範例。

不適用。 若要呼叫標準 C 函式,請使用 PInvoke。 如需詳細資訊,請參閱 平台叫用範例

流程控制和環境控制
_beginthread、 _beginthreadex

顯示: