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.
Abstraksi untuk utas eksekusi. Jika Anda ingin penjadwal Anda diberikan utas schedulable mode pengguna (UMS), atur nilai untuk elemen kebijakan penjadwal SchedulerKind ke UmsThreadDefault, dan terapkan IUMSScheduler antarmuka. Utas UMS hanya didukung pada sistem operasi 64-bit dengan versi Windows 7 dan yang lebih tinggi.
Sintaks
struct IUMSThreadProxy : public IThreadProxy;
Anggota
Metode Publik
| Nama | Deskripsi |
|---|---|
| IUMSThreadProxy::EnterCriticalRegion | Dipanggil untuk memasuki wilayah penting. Ketika berada di dalam wilayah penting, penjadwal tidak akan mengamati operasi pemblokiran asinkron yang terjadi selama wilayah tersebut. Ini berarti bahwa penjadwal tidak akan dimasukkan kembali untuk kesalahan halaman, penangguhan utas, panggilan prosedur asinkron kernel (APC), dan sebagainya, untuk utas UMS. |
| IUMSThreadProxy::EnterHyperCriticalRegion | Dipanggil untuk memasuki wilayah hyper-critical. Ketika berada di dalam wilayah hyper-critical, penjadwal tidak akan mengamati operasi pemblokiran apa pun yang terjadi selama wilayah tersebut. Ini berarti penjadwal tidak akan dimasukkan kembali untuk memblokir panggilan fungsi, upaya akuisisi kunci yang memblokir, kesalahan halaman, penangguhan utas, panggilan prosedur asinkron kernel (APC), dan sebagainya, untuk utas UMS. |
| IUMSThreadProxy::ExitCriticalRegion | Dipanggil untuk keluar dari wilayah penting. |
| IUMSThreadProxy::ExitHyperCriticalRegion | Dipanggil untuk keluar dari wilayah hyper-critical. |
| IUMSThreadProxy::GetCriticalRegionType | Mengembalikan jenis wilayah penting tempat proksi utas berada. Karena wilayah hyper-critical adalah superset wilayah penting, jika kode telah memasuki wilayah penting dan kemudian wilayah hyper-critical, InsideHyperCriticalRegion akan dikembalikan. |
Hierarki Warisan
IUMSThreadProxy
Persyaratan
Header: concrtrm.h
Namespace: konkurensi
IUMSThreadProxy::EnterCriticalRegion Method
Dipanggil untuk memasuki wilayah penting. Ketika berada di dalam wilayah penting, penjadwal tidak akan mengamati operasi pemblokiran asinkron yang terjadi selama wilayah tersebut. Ini berarti bahwa penjadwal tidak akan dimasukkan kembali untuk kesalahan halaman, penangguhan utas, panggilan prosedur asinkron kernel (APC), dan sebagainya, untuk utas UMS.
virtual int EnterCriticalRegion() = 0;
Tampilkan Nilai
Kedalaman baru wilayah kritis. Wilayah kritis bersifat reentrant.
IUMSThreadProxy::EnterHyperCriticalRegion Method
Dipanggil untuk memasuki wilayah hyper-critical. Ketika berada di dalam wilayah hyper-critical, penjadwal tidak akan mengamati operasi pemblokiran apa pun yang terjadi selama wilayah tersebut. Ini berarti penjadwal tidak akan dimasukkan kembali untuk memblokir panggilan fungsi, upaya akuisisi kunci yang memblokir, kesalahan halaman, penangguhan utas, panggilan prosedur asinkron kernel (APC), dan sebagainya, untuk utas UMS.
virtual int EnterHyperCriticalRegion() = 0;
Tampilkan Nilai
Kedalaman baru wilayah hyper-critical. Wilayah hyper-critical bersifat reentrant.
Keterangan
Penjadwal harus sangat berhati-hati tentang metode apa yang disebutnya dan kunci apa yang diperolehnya di wilayah tersebut. Jika kode di wilayah tersebut memblokir kunci yang dipegang oleh sesuatu yang bertanggung jawab penjadwalan, kebuntuan dapat terjadi.
IUMSThreadProxy::Metode ExitCriticalRegion
Dipanggil untuk keluar dari wilayah penting.
virtual int ExitCriticalRegion() = 0;
Tampilkan Nilai
Kedalaman baru wilayah kritis. Wilayah kritis bersifat reentrant.
IUMSThreadProxy::Metode ExitHyperCriticalRegion
Dipanggil untuk keluar dari wilayah hyper-critical.
virtual int ExitHyperCriticalRegion() = 0;
Tampilkan Nilai
Kedalaman baru wilayah hyper-critical. Wilayah hyper-critical bersifat reentrant.
IUMSThreadProxy::GetCriticalRegionType Method
Mengembalikan jenis wilayah penting tempat proksi utas berada. Karena wilayah hyper-critical adalah superset wilayah penting, jika kode telah memasuki wilayah penting dan kemudian wilayah hyper-critical, InsideHyperCriticalRegion akan dikembalikan.
virtual CriticalRegionType GetCriticalRegionType() const = 0;
Tampilkan Nilai
Jenis wilayah penting tempat proksi utas berada.