Fungsi ExitThread (processthreadsapi.h)
Mengakhiri utas panggilan.
Sintaks
void ExitThread(
[in] DWORD dwExitCode
);
Parameter
[in] dwExitCode
Kode keluar untuk utas.
Nilai kembali
Tidak ada
Keterangan
ExitThread adalah metode yang disukai untuk keluar dari utas dalam kode C. Namun, dalam kode C++, utas keluar sebelum destruktor dapat dipanggil atau pembersihan otomatis lainnya dapat dilakukan. Oleh karena itu, dalam kode C++, Anda harus kembali dari fungsi utas Anda.
Ketika fungsi ini dipanggil (baik secara eksplisit atau dengan mengembalikan dari prosedur utas), tumpukan utas saat ini dibatalkan alokasinya, semua I/O yang tertunda yang dimulai oleh utas yang tidak terkait dengan port penyelesaian dibatalkan, dan utas berakhir. Fungsi titik entri dari semua pustaka tautan dinamis (DLL) terlampir dipanggil dengan nilai yang menunjukkan bahwa utas terlepas dari DLL.
Jika utas adalah utas terakhir dalam proses ketika fungsi ini dipanggil, proses utas juga dihentikan.
Status objek utas menjadi sinyal, melepaskan utas lain yang telah menunggu utas dihentikan. Status penghentian utas berubah dari STILL_ACTIVE ke nilai parameter dwExitCode .
Mengakhiri utas tidak selalu menghapus objek utas dari sistem operasi. Objek utas dihapus saat handel terakhir ke utas ditutup.
Fungsi ExitProcess, ExitThread, CreateThread, CreateRemoteThread , dan proses yang dimulai (sebagai hasil dari panggilan CreateProcess ) diserialisasikan antara satu sama lain dalam proses. Hanya salah satu peristiwa ini yang dapat terjadi di ruang alamat pada satu waktu. Ini berarti pembatasan berikut berlaku:
- Selama rutinitas startup proses dan inisialisasi DLL, utas baru dapat dibuat, tetapi tidak memulai eksekusi sampai inisialisasi DLL dilakukan untuk proses tersebut.
- Hanya satu utas dalam proses yang dapat berada dalam inisialisasi DLL atau melepaskan rutinitas pada satu waktu.
- ExitProcess tidak kembali sampai tidak ada utas dalam inisialisasi DLL atau melepaskan rutinitas.
Gunakan fungsi GetExitCodeThread untuk mengambil kode keluar utas.
Windows Phone 8.1: Fungsi ini didukung untuk aplikasi Windows Phone Store di Windows Phone 8.1 dan yang lebih baru.
Windows 8.1 dan Windows Server 2012 R2: Fungsi ini didukung untuk aplikasi Windows Store di Windows 8.1, Windows Server 2012 R2, dan yang lebih baru.
Contoh
Misalnya, lihat Menggunakan Objek Peristiwa.
Persyaratan
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | processthreadsapi.h (termasuk Windows.h pada Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Pustaka | Kernel32.lib; WindowsPhoneCore.lib di Windows Phone 8.1 |
DLL | Kernel32.dll; KernelBase.dll di Windows Phone 8.1 |