Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Utas terkelola adalah utas latar belakang atau utas latar depan. Utas latar belakang identik dengan utas latar depan dengan satu pengecualian: utas latar belakang tidak menjaga lingkungan eksekusi terkelola tetap berjalan. Setelah semua utas latar depan dihentikan dalam proses terkelola (di mana file .exe adalah assembly terkelola), sistem menghenti semua utas latar belakang dan mematikan.
Nota
Ketika runtime menghentikan utas latar belakang karena proses sedang dimatikan, tidak ada pengecualian yang dilemparkan di utas. Namun, ketika utas dihentikan karena metode AppDomain.Unload membongkar domain aplikasi, sebuah ThreadAbortException dilemparkan di utas latar depan dan latar belakang.
Thread.IsBackground Gunakan properti untuk menentukan apakah utas adalah latar belakang atau utas latar depan, atau untuk mengubah statusnya. Utas dapat diubah menjadi utas latar belakang kapan saja dengan mengatur propertinya IsBackground ke true.
Penting
Status latar depan atau latar belakang utas tidak memengaruhi hasil pengecualian yang tidak tertangani dalam utas. Pengecualian yang tidak tertangani di utas latar depan atau latar belakang akan menyebabkan aplikasi terhenti. Lihat Pengecualian di Utas Terkelola.
Utas yang termasuk dalam kumpulan utas terkelola (yaitu, utas yang propertinya adalah IsThreadPoolThread) adalah utas latar belakang true. Semua utas yang memasuki lingkungan eksekusi terkelola dari kode yang tidak dikelola ditandai sebagai utas latar belakang. Semua utas yang dihasilkan dengan membuat dan memulai objek baru Thread secara default adalah utas latar depan.
Jika Anda menggunakan utas pemantauan untuk mengawasi aktivitas, seperti koneksi soket, atur propertinya IsBackground ke true agar utas tidak menghalangi penghentian proses Anda.