Bagikan melalui


Kelas CurrentScheduler

Mewakili abstraksi untuk penjadwal saat ini yang terkait dengan konteks panggilan.

Sintaks

class CurrentScheduler;

Anggota

Metode Publik

Nama Deskripsi
Buat Membuat penjadwal baru yang perilakunya dijelaskan oleh _Policy parameter dan melampirkannya ke konteks panggilan. Penjadwal yang baru dibuat akan menjadi penjadwal saat ini untuk konteks panggilan.
CreateScheduleGroup Kelebihan beban. Membuat grup jadwal baru dalam penjadwal yang terkait dengan konteks panggilan. Versi yang mengambil parameter _Placement menyebabkan tugas dalam grup jadwal yang baru dibuat menjadi bias untuk dieksekusi di lokasi yang ditentukan oleh parameter tersebut.
Melepaskan Melepaskan penjadwal saat ini dari konteks panggilan dan memulihkan penjadwal yang terpasang sebelumnya sebagai penjadwal saat ini, jika ada. Setelah metode ini kembali, konteks panggilan kemudian dikelola oleh penjadwal yang sebelumnya dilampirkan ke konteks menggunakan CurrentScheduler::Create metode atau Scheduler::Attach .
Dapatkan Mengembalikan penunjuk ke penjadwal yang terkait dengan konteks panggilan, juga disebut sebagai penjadwal saat ini.
GetNumberOfVirtualProcessors Mengembalikan jumlah prosesor virtual saat ini untuk penjadwal yang terkait dengan konteks panggilan.
GetPolicy Mengembalikan salinan kebijakan yang dibuat oleh penjadwal saat ini.
Id Mengembalikan pengidentifikasi unik untuk penjadwal saat ini.
IsAvailableLocation Menentukan apakah lokasi tertentu tersedia pada penjadwal saat ini.
RegisterShutdownEvent Menyebabkan handel peristiwa Windows yang diteruskan dalam _ShutdownEvent parameter diberi sinyal ketika penjadwal yang terkait dengan konteks saat ini dimatikan dan menghancurkan dirinya sendiri. Pada saat acara disinyalir, semua pekerjaan yang telah dijadwalkan ke penjadwal selesai. Beberapa peristiwa matikan dapat didaftarkan melalui metode ini.
ScheduleTask Kelebihan beban. Menjadwalkan tugas ringan dalam penjadwal yang terkait dengan konteks panggilan. Tugas ringan akan ditempatkan dalam grup jadwal yang ditentukan oleh runtime. Versi yang mengambil parameter _Placement menyebabkan tugas menjadi bias untuk dieksekusi di lokasi yang ditentukan.

Keterangan

Jika tidak ada penjadwal (lihat Scheduler) yang terkait dengan konteks panggilan, banyak metode dalam CurrentScheduler kelas akan menghasilkan lampiran penjadwal default proses. Ini mungkin juga menyiratkan bahwa penjadwal default proses dibuat selama panggilan tersebut.

Hierarki Warisan

CurrentScheduler

Persyaratan

Header: concrt.h

Namespace: konkurensi

Buat

Membuat penjadwal baru yang perilakunya dijelaskan oleh _Policy parameter dan melampirkannya ke konteks panggilan. Penjadwal yang baru dibuat akan menjadi penjadwal saat ini untuk konteks panggilan.

static void __cdecl Create(const SchedulerPolicy& _Policy);

Parameter

_Kebijakan
Kebijakan penjadwal yang menjelaskan perilaku penjadwal yang baru dibuat.

Keterangan

Lampiran penjadwal ke konteks panggilan secara implisit menempatkan jumlah referensi pada penjadwal.

Setelah penjadwal dibuat dengan Create metode , Anda harus memanggil metode CurrentScheduler::D etach di beberapa titik di masa mendatang untuk memungkinkan penjadwal dimatikan.

Jika metode ini dipanggil dari konteks yang sudah dilampirkan ke penjadwal yang berbeda, penjadwal yang ada diingat sebagai penjadwal sebelumnya, dan penjadwal yang baru dibuat menjadi penjadwal saat ini. Ketika Anda memanggil metode di CurrentScheduler::Detach titik selanjutnya, penjadwal sebelumnya dipulihkan sebagai penjadwal saat ini.

Metode ini dapat melemparkan berbagai pengecualian, termasuk scheduler_resource_allocation_error dan invalid_scheduler_policy_value.

CreateScheduleGroup

Membuat grup jadwal baru dalam penjadwal yang terkait dengan konteks panggilan. Versi yang mengambil parameter _Placement menyebabkan tugas dalam grup jadwal yang baru dibuat menjadi bias untuk dieksekusi di lokasi yang ditentukan oleh parameter tersebut.

static ScheduleGroup* __cdecl CreateScheduleGroup();

static ScheduleGroup* __cdecl CreateScheduleGroup(location& _Placement);

Parameter

_Penempatan
Referensi ke lokasi tempat tugas dalam grup jadwal akan bias untuk dieksekusi.

Tampilkan Nilai

Penunjuk ke grup jadwal yang baru dibuat. Objek ini ScheduleGroup memiliki jumlah referensi awal yang ditempatkan di atasnya.

Keterangan

Metode ini akan mengakibatkan penjadwal default proses dibuat dan/atau dilampirkan ke konteks panggilan jika saat ini tidak ada penjadwal yang terkait dengan konteks panggilan.

Anda harus memanggil metode Rilis pada grup jadwal ketika Anda selesai menjadwalkan pekerjaan untuk itu. Penjadwal akan menghancurkan grup jadwal ketika semua pekerjaan yang diantrekan ke dalamnya telah selesai.

Perhatikan bahwa jika Anda secara eksplisit membuat penjadwal ini, Anda harus merilis semua referensi untuk menjadwalkan grup di dalamnya, sebelum merilis referensi Anda pada penjadwal, dengan melepaskan konteks saat ini darinya.

Lepaskan

Melepaskan penjadwal saat ini dari konteks panggilan dan memulihkan penjadwal yang terpasang sebelumnya sebagai penjadwal saat ini, jika ada. Setelah metode ini kembali, konteks panggilan kemudian dikelola oleh penjadwal yang sebelumnya dilampirkan ke konteks menggunakan CurrentScheduler::Create metode atau Scheduler::Attach .

static void __cdecl Detach();

Keterangan

Metode ini Detach secara implisit menghapus jumlah referensi dari penjadwal.

Jika tidak ada penjadwal yang dilampirkan ke konteks panggilan, memanggil metode ini akan mengakibatkan pengecualian scheduler_not_attached dilemparkan.

Memanggil metode ini dari konteks yang internal ke dan dikelola oleh penjadwal, atau konteks yang dilampirkan menggunakan metode selain Scheduler::Attach atau CurrentScheduler::Create methods, akan mengakibatkan pengecualian improper_scheduler_detach dilemparkan.

Dapatkan

Mengembalikan penunjuk ke penjadwal yang terkait dengan konteks panggilan, juga disebut sebagai penjadwal saat ini.

static Scheduler* __cdecl Get();

Tampilkan Nilai

Penunjuk ke penjadwal yang terkait dengan konteks panggilan (penjadwal saat ini).

Keterangan

Metode ini akan mengakibatkan penjadwal default proses dibuat dan/atau dilampirkan ke konteks panggilan jika saat ini tidak ada penjadwal yang terkait dengan konteks panggilan. Tidak ada referensi tambahan yang ditempatkan pada objek yang Scheduler dikembalikan oleh metode ini.

GetNumberOfVirtualProcessors

Mengembalikan jumlah prosesor virtual saat ini untuk penjadwal yang terkait dengan konteks panggilan.

static unsigned int __cdecl GetNumberOfVirtualProcessors();

Tampilkan Nilai

Jika penjadwal dikaitkan dengan konteks panggilan, jumlah prosesor virtual saat ini untuk penjadwal tersebut; jika tidak, nilai -1.

Keterangan

Metode ini tidak akan menghasilkan lampiran penjadwal jika konteks panggilan belum dikaitkan dengan penjadwal.

Nilai pengembalian dari metode ini adalah pengambilan sampel instan dari jumlah prosesor virtual untuk penjadwal yang terkait dengan konteks panggilan. Nilai ini dapat basi saat dikembalikan.

GetPolicy

Mengembalikan salinan kebijakan yang dibuat oleh penjadwal saat ini.

static SchedulerPolicy __cdecl GetPolicy();

Tampilkan Nilai

Salinan kebijakan yang dibuat oleh penjadwal saat ini.

Keterangan

Metode ini akan mengakibatkan penjadwal default proses dibuat dan/atau dilampirkan ke konteks panggilan jika saat ini tidak ada penjadwal yang terkait dengan konteks panggilan.

Id

Mengembalikan pengidentifikasi unik untuk penjadwal saat ini.

static unsigned int __cdecl Id();

Tampilkan Nilai

Jika penjadwal dikaitkan dengan konteks panggilan, pengidentifikasi unik untuk penjadwal tersebut; jika tidak, nilai -1.

Keterangan

Metode ini tidak akan menghasilkan lampiran penjadwal jika konteks panggilan belum dikaitkan dengan penjadwal.

IsAvailableLocation

Menentukan apakah lokasi tertentu tersedia pada penjadwal saat ini.

static bool __cdecl IsAvailableLocation(const location& _Placement);

Parameter

_Penempatan
Referensi ke lokasi untuk mengkueri penjadwal saat ini.

Tampilkan Nilai

Indikasi apakah lokasi yang ditentukan oleh _Placement argumen tersedia pada penjadwal saat ini atau tidak.

Keterangan

Metode ini tidak akan menghasilkan lampiran penjadwal jika konteks panggilan belum dikaitkan dengan penjadwal.

Perhatikan bahwa nilai pengembalian adalah pengambilan sampel seketika dari apakah lokasi yang diberikan tersedia. Di hadapan beberapa penjadwal, manajemen sumber daya dinamis dapat menambahkan atau mengambil sumber daya dari penjadwal kapan saja. Jika ini terjadi, lokasi yang diberikan dapat mengubah ketersediaan.

RegisterShutdownEvent

Menyebabkan handel peristiwa Windows yang diteruskan dalam _ShutdownEvent parameter diberi sinyal ketika penjadwal yang terkait dengan konteks saat ini dimatikan dan menghancurkan dirinya sendiri. Pada saat acara disinyalir, semua pekerjaan yang telah dijadwalkan ke penjadwal selesai. Beberapa peristiwa matikan dapat didaftarkan melalui metode ini.

static void __cdecl RegisterShutdownEvent(HANDLE _ShutdownEvent);

Parameter

_ShutdownEvent
Handel ke objek peristiwa Windows yang akan diberi sinyal oleh runtime ketika penjadwal yang terkait dengan konteks saat ini dimatikan dan menghancurkan dirinya sendiri.

Keterangan

Jika tidak ada penjadwal yang dilampirkan ke konteks panggilan, memanggil metode ini akan mengakibatkan pengecualian scheduler_not_attached dilemparkan.

ScheduleTask

Menjadwalkan tugas ringan dalam penjadwal yang terkait dengan konteks panggilan. Tugas ringan akan ditempatkan dalam grup jadwal yang ditentukan oleh runtime. Versi yang mengambil parameter _Placement menyebabkan tugas menjadi bias untuk dieksekusi di lokasi yang ditentukan.

static void __cdecl ScheduleTask(
    TaskProc _Proc,
    _Inout_opt_ void* _Data);

static void __cdecl ScheduleTask(
    TaskProc _Proc,
    _Inout_opt_ void* _Data,
    location& _Placement);

Parameter

_Proc
Penunjuk ke fungsi untuk dijalankan untuk melakukan isi tugas ringan.

_Data
Penunjuk ke data yang akan diteruskan sebagai parameter ke isi tugas.

_Penempatan
Referensi ke lokasi di mana tugas ringan akan bias terhadap eksekusi.

Keterangan

Metode ini akan mengakibatkan penjadwal default proses dibuat dan/atau dilampirkan ke konteks panggilan jika saat ini tidak ada penjadwal yang terkait dengan konteks panggilan.

Lihat juga

Namespace layanan konkurensi
Kelas Penjadwal
PolicyElementKey
Tugas Microsoft Azure Scheduler