Enumerasi EClrOperation
Menjelaskan serangkaian operasi dimana host bisa menerapkan tindakan kebijakan.
Sintaks
typedef enum {
OPR_ThreadAbort,
OPR_ThreadRudeAbortInNonCriticalRegion,
OPR_ThreadRudeAbortInCriticalRegion,
OPR_AppDomainUnload,
OPR_AppDomainRudeUnload,
OPR_ProcessExit,
OPR_FinalizerRun
} EClrOperation;
Anggota
Anggota | Deskripsi |
---|---|
OPR_AppDomainRudeUnload |
Host bisa menentukan tindakan kebijakan yang akan diambil ketika AppDomain dibongkar dengan cara yang tidak baik (kasar). |
OPR_AppDomainUnload |
Host bisa menentukan tindakan kebijakan yang akan diambil ketika AppDomain dibongkar. |
OPR_FinalizerRun |
Host bisa menentukan tindakan kebijakan yang akan diambil saat finalizers berjalan. |
OPR_ProcessExit |
Host bisa menentukan tindakan kebijakan yang akan diambil ketika proses keluar. |
OPR_ThreadAbort |
Host bisa menentukan tindakan kebijakan yang akan diambil ketika utas dibatalkan. |
OPR_ThreadRudeAbortInCriticalRegion |
Host bisa menentukan tindakan kebijakan yang akan diambil ketika pembatalan utas kasar terjadi di kawasan kritis kode. |
OPR_ThreadRudeAbortInNonCriticalRegion |
Host bisa menentukan tindakan kebijakan yang harus diambil ketika pembatalan utas kasar terjadi di kawasan non-kritis kode. |
Keterangan
Infrastruktur keandalan runtime bahasa umum (CLR) membedakan antara pembatalan dan kegagalan alokasi sumber daya yang terjadi di kawasan kritis kode dan yang terjadi di kawasan non-kritis kode. Perbedaan ini dirancang agar memungkinkan host untuk menetapkan kebijakan yang berbeda tergantung di mana kegagalan terjadi dalam kode.
Kawasan kode kritis adalah ruang di mana runtime bahasa umum tidak dapat menjamin bahwa membatalkan tugas atau gagal menyelesaikan permintaan sumber daya hanya akan memengaruhi tugas terkini. Misalnya, jika tugas memegang kunci dan menerima HRESULT yang menunjukkan kegagalan saat membuat permintaan alokasi memori, tidak cukup hanya untuk membatalkan tugas tersebut untuk memastikan stabilitas AppDomain, karena AppDomain bisa berisi tugas lain yang menunggu kunci yang sama. Meninggalkan tugas terkini dapat menyebabkan tugas-tugas lain berhenti merespon. Dalam kasus seperti itu, host membutuhkan kemampuan untuk membongkar seluruh AppDomain daripada memberi risiko potensi ketidakstabilan.
Kawasan kode non kritis, di sisi lain, adalah kawasan di mana runtime bahasa umum dapat menjamin bahwa pembatalan atau kegagalan hanya akan memengaruhi tugas tempat kesalahan terjadi.
Runtime bahasa umum juga membedakan antara pembatalan baik dan tidak baik (kasar). Secara umum, pematalan normal atau pembatalan baik membuat segala upaya untuk menjalankan rutinitas penanganan pengecualian dan finalizers sebelum membatalkan tugas, sementara aborsi kasar tidak memiliki jaminan tersebut.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: MSCorEE.h
Pustaka: MSCorEE.dll
Versi .NET Framework: Tersedia mulai dari 2.0
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk