Struktur IResourceManager
Antarmuka ke Resource Manager Concurrency Runtime. Ini adalah antarmuka tempat penjadwal berkomunikasi dengan Resource Manager.
Sintaks
struct IResourceManager;
Anggota
Enumerasi Publik
Nama | Deskripsi |
---|---|
IResourceManager::OSVersion | Jenis enumerasi yang mewakili versi sistem operasi. |
Metode Publik
Nama | Deskripsi |
---|---|
IResourceManager::CreateNodeTopology | Hanya ada dalam build debug runtime, metode ini adalah kait pengujian yang dirancang untuk memfasilitasi pengujian Resource Manager pada berbagai topologi perangkat keras, tanpa memerlukan perangkat keras aktual yang cocok dengan konfigurasi. Dengan build ritel runtime, metode ini akan kembali tanpa melakukan tindakan apa pun. |
IResourceManager::GetAvailableNodeCount | Mengembalikan jumlah simpul yang tersedia untuk Resource Manager. |
IResourceManager::GetFirstNode | Mengembalikan simpul pertama dalam urutan enumerasi seperti yang didefinisikan oleh Resource Manager. |
IResourceManager::Referensi | Menaikkan jumlah referensi pada instans Resource Manager. |
IResourceManager::RegisterScheduler | Mendaftarkan penjadwal dengan Resource Manager. Setelah penjadwal terdaftar, penjadwal harus berkomunikasi dengan Resource Manager menggunakan ISchedulerProxy antarmuka yang dikembalikan. |
IResourceManager::Release | Mengurangi jumlah referensi pada instans Resource Manager. Resource Manager dihancurkan ketika jumlah referensinya masuk ke 0 . |
Keterangan
Gunakan fungsi CreateResourceManager untuk mendapatkan antarmuka ke instans Resource Manager singleton. Metode ini menambahkan jumlah referensi pada Resource Manager, dan Anda harus memanggil metode IResourceManager::Release untuk merilis referensi ketika Anda selesai dengan Resource Manager. Biasanya, setiap penjadwal yang Anda buat akan memanggil metode ini selama pembuatan, dan merilis referensi ke Resource Manager setelah dimatikan.
Hierarki Warisan
IResourceManager
Persyaratan
Header: concrtrm.h
Namespace: konkurensi
Metode IResourceManager::CreateNodeTopology
Hanya ada dalam build debug runtime, metode ini adalah kait pengujian yang dirancang untuk memfasilitasi pengujian Resource Manager pada berbagai topologi perangkat keras, tanpa memerlukan perangkat keras aktual yang cocok dengan konfigurasi. Dengan build ritel runtime, metode ini akan kembali tanpa melakukan tindakan apa pun.
virtual void CreateNodeTopology(
unsigned int nodeCount,
_In_reads_(nodeCount) unsigned int* pCoreCount,
_In_reads_opt_(nodeCount) unsigned int** pNodeDistance,
_In_reads_(nodeCount) unsigned int* pProcessorGroups) = 0;
Parameter
nodeCount
Jumlah simpul prosesor yang disimulasikan.
pCoreCount
Array yang menentukan jumlah inti pada setiap simpul.
pNodeDistance
Matriks yang menentukan jarak simpul antara dua simpul. Parameter ini dapat memiliki nilai NULL
.
pProcessorGroups
Array yang menentukan grup prosesor tempat setiap simpul berada.
Keterangan
invalid_argument dilemparkan jika parameter nodeCount
memiliki nilai 0
yang diteruskan, atau jika parameter pCoreCount
memiliki nilai NULL
.
invalid_operation dilemparkan jika metode ini dipanggil sementara penjadwal lain ada dalam proses.
Metode IResourceManager::GetAvailableNodeCount
Mengembalikan jumlah simpul yang tersedia untuk Resource Manager.
virtual unsigned int GetAvailableNodeCount() const = 0;
Tampilkan Nilai
Jumlah simpul yang tersedia untuk Resource Manager.
Metode IResourceManager::GetFirstNode
Mengembalikan simpul pertama dalam urutan enumerasi seperti yang didefinisikan oleh Resource Manager.
virtual ITopologyNode* GetFirstNode() const = 0;
Tampilkan Nilai
Simpul pertama dalam urutan enumerasi seperti yang didefinisikan oleh Resource Manager.
IResourceManager::OSVersion Enumeration
Jenis enumerasi yang mewakili versi sistem operasi.
enum OSVersion;
IResourceManager::Metode Referensi
Menaikkan jumlah referensi pada instans Resource Manager.
virtual unsigned int Reference() = 0;
Tampilkan Nilai
Jumlah referensi yang dihasilkan.
Metode IResourceManager::RegisterScheduler
Mendaftarkan penjadwal dengan Resource Manager. Setelah penjadwal terdaftar, penjadwal harus berkomunikasi dengan Resource Manager menggunakan ISchedulerProxy
antarmuka yang dikembalikan.
virtual ISchedulerProxy *RegisterScheduler(
_Inout_ IScheduler* pScheduler,
unsigned int version) = 0;
Parameter
pScheduler
Antarmuka IScheduler
ke penjadwal yang akan didaftarkan.
versi
Versi antarmuka komunikasi yang digunakan penjadwal untuk berkomunikasi dengan Resource Manager. Menggunakan versi memungkinkan Resource Manager untuk mengembangkan antarmuka komunikasi sambil memungkinkan penjadwal mendapatkan akses ke fitur yang lebih lama. Penjadwal yang ingin menggunakan fitur Resource Manager yang ada di Visual Studio 2010 harus menggunakan versi CONCRT_RM_VERSION_1
.
Tampilkan Nilai
Antarmuka ISchedulerProxy
Resource Manager telah dikaitkan dengan penjadwal Anda. Penjadwal Anda harus menggunakan antarmuka ini untuk berkomunikasi dengan Resource Manager mulai saat ini.
Keterangan
Gunakan metode ini untuk memulai komunikasi dengan Resource Manager. Metode ini mengaitkan IScheduler
antarmuka untuk penjadwal Anda dengan ISchedulerProxy
antarmuka dan menyerahkannya kembali kepada Anda. Anda dapat menggunakan antarmuka yang dikembalikan untuk meminta sumber daya eksekusi untuk digunakan oleh penjadwal Anda, atau untuk berlangganan utas dengan Resource Manager. Resource Manager akan menggunakan elemen kebijakan dari kebijakan penjadwal yang dikembalikan oleh metode IScheduler::GetPolicy untuk menentukan jenis utas apa yang diperlukan penjadwal untuk menjalankan pekerjaan. Jika kunci kebijakan Anda SchedulerKind
memiliki nilai UmsThreadDefault
dan nilainya dibaca kembali dari kebijakan sebagai nilai UmsThreadDefault
, antarmuka yang IScheduler
diteruskan ke metode harus merupakan IUMSScheduler
antarmuka.
Metode ini melemparkan invalid_argument
pengecualian jika parameter pScheduler
memiliki nilai NULL
atau jika parameter version
bukan versi yang valid untuk antarmuka komunikasi.
IResourceManager::Metode Rilis
Mengurangi jumlah referensi pada instans Resource Manager. Resource Manager dihancurkan ketika jumlah referensinya masuk ke 0
.
virtual unsigned int Release() = 0;
Tampilkan Nilai
Jumlah referensi yang dihasilkan.
Baca juga
Namespace layanan konkurensi
Struktur ISchedulerProxy
Struktur IScheduler
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