Struktur IResourceManager

Antarmuka untuk Manajer Sumber Daya dari 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 runtime ritel, metode ini akan kembali tanpa menjalankan 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 Pengelola Sumber Daya. Setelah penjadwal terdaftar, ia harus berkomunikasi dengan Resource Manager menggunakan antarmuka ISchedulerProxy 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 Pewarisan

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 runtime build versi ritel, metode ini akan selesai 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 akan 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::Referensi Metode

Menaikkan jumlah referensi pada instans Resource Manager.

virtual unsigned int Reference() = 0;

Tampilkan Nilai

Jumlah referensi yang dihasilkan.

Metode IResourceManager::RegisterScheduler

Mendaftarkan penjadwal dengan Pengelola Sumber Daya. Setelah penjadwal terdaftar, ia harus berkomunikasi dengan Resource Manager menggunakan antarmuka ISchedulerProxy yang dikembalikan.

virtual ISchedulerProxy *RegisterScheduler(
    _Inout_ IScheduler* pScheduler,
    unsigned int version) = 0;

Parameter

pScheduler
Antarmuka IScheduler untuk 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 dari Resource Manager yang 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. Manager Sumber Daya akan menggunakan elemen kebijakan dari kebijakan penjadwal yang dikembalikan oleh metode IScheduler::GetPolicy untuk menentukan jenis utas yang diperlukan oleh penjadwal untuk menjalankan pekerjaan. Jika kunci kebijakan Anda SchedulerKind memiliki nilai UmsThreadDefault dan nilainya dibaca kembali dari kebijakan sebagai nilai UmsThreadDefault, maka antarmuka IScheduler yang diteruskan ke metode harus berupa antarmuka IUMSScheduler.

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 Pelepasan

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.

Lihat juga

Namespace layanan konkurensi
Struktur ISchedulerProxy
Struktur IScheduler