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