ExitThread 函式 (processthreadsapi.h)
結束呼叫執行緒。
語法
void ExitThread(
[in] DWORD dwExitCode
);
參數
[in] dwExitCode
執行緒的結束代碼。
傳回值
無
備註
ExitThread 是在 C 程式碼中結束執行緒的慣用方法。 不過,在 C++ 程式碼中,執行緒會在呼叫任何解構函式之前結束,或是執行任何其他自動清除。 因此,在 C++ 程式碼中,您應該從執行緒函式傳回 。
呼叫此函式時 (明確或從執行緒程式傳回) ,則會解除配置目前線程的堆疊、取消與完成埠無關之執行緒所起始的所有擱置 I/O,且執行緒會終止。 會叫用所有附加動態連結程式庫的進入點函式, (DLL) 叫用,指出執行緒與 DLL 中斷連結。
如果在呼叫此函式時,執行緒是進程中的最後一個執行緒,則執行緒的進程也會終止。
執行緒物件的狀態會變成訊號,釋放任何其他等候執行緒終止的執行緒。 執行緒的終止狀態會從 STILL_ACTIVE 變更為 dwExitCode 參數的值。
終止執行緒不一定會從作業系統中移除執行緒物件。 關閉執行緒的最後一個控制碼時,會刪除線程物件。
ExitProcess、ExitThread、CreateThread、CreateRemoteThread函式,以及啟動 (的程式,因為CreateProcess呼叫的結果) 會在進程內彼此序列化。 一次只能在位址空間中發生其中一個事件。 這表示下列限制保留:
- 在進程啟動和 DLL 初始化常式期間,可以建立新的執行緒,但直到對進程完成 DLL 初始化之前,才會開始執行。
- 一次只能有一個執行緒位於 DLL 初始化或卸離常式中。
- 在 DLL 初始化或卸離常式中沒有線程之前,ExitProcess不會傳回。
使用 GetExitCodeThread 函式來擷取執行緒的結束代碼。
Windows Phone 8.1:Windows Phone 8.1和更新版本上的 Windows Phone Store 應用程式支援此函式。
Windows 8.1和Windows Server 2012 R2:Windows 市集應用程式在 Windows 8.1、Windows Server 2012 R2 及更新版本上支援此功能。
範例
如需範例,請參閱 使用事件物件。
需求
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | processthreadsapi.h (Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2) |
程式庫 | Kernel32.lib;Windows Phone 8.1 上的 WindowsPhoneCore.lib |
Dll | Kernel32.dll;Windows Phone 8.1 上的 KernelBase.dll |