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.
Mewakili sebuah abstraksi untuk penjadwal saat ini yang dihubungkan dengan konteks pemanggilan.
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 pengatur jadwal saat ini dari konteks pemanggilan dan memulihkan pengatur jadwal yang terpasang sebelumnya untuk menjadi pengatur jadwal saat ini, jika ada. Setelah metode ini selesai dijalankan, konteks panggilan selanjutnya dikelola oleh penjadwal yang telah sebelumnya dilampirkan ke konteks tersebut menggunakan metode CurrentScheduler::Create atau Scheduler::Attach. |
| Dapatkan | Mengembalikan pointer ke penjadwal yang terkait dengan konteks panggilan, juga disebut sebagai penjadwal yang sedang aktif. |
| GetNumberOfVirtualProcessors (DapatkanJumlahProsesorVirtual) | Mengembalikan jumlah prosesor virtual saat ini untuk penjadwal yang terkait dengan konteks panggilan. |
| GetPolicy | Mengembalikan salinan kebijakan yang digunakan saat penjadwal saat ini dibuat. |
| 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 diisyaratkan, semua pekerjaan yang telah dijadwalkan oleh penjadwal telah selesai. Beberapa peristiwa matikan dapat didaftarkan melalui metode ini. |
| ScheduleTask | Kelebihan beban. Menjadwalkan tugas ringan dalam penjadwal yang terkait dengan konteks panggilan. Tugas yang ringan akan ditempatkan dalam grup jadwal yang ditentukan oleh waktu jalan. 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 Pewarisan
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 saja dibuat.
Keterangan
Pengaitan penjadwal dengan konteks panggilan secara implisit mengatur penghitung referensi pada penjadwal.
Setelah penjadwal dibuat dengan Create metode, Anda harus memanggil metode CurrentScheduler::Detach 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 CurrentScheduler::Detach pada waktu nanti, penjadwal sebelumnya dipulihkan menjadi penjadwal saat ini.
Metode ini dapat melemparkan berbagai pengecualian, termasuk scheduler_resource_allocation_error dan invalid_scheduler_policy_value.
BuatGrupJadwal
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 menghapus kelompok jadwal ketika semua pekerjaan yang diantrekan ke dalamnya telah selesai.
Perhatikan bahwa jika Anda secara eksplisit membuat penjadwal ini, Anda harus melepaskan semua referensi ke kelompok jadwal di dalamnya sebelum melepaskan referensi Anda pada penjadwal tersebut, dengan melepaskan konteks saat ini dari penjadwal tersebut.
Lepaskan
Melepaskan pengatur jadwal saat ini dari konteks pemanggilan dan memulihkan pengatur jadwal yang terpasang sebelumnya untuk menjadi pengatur jadwal saat ini, jika ada. Setelah metode ini selesai dijalankan, konteks panggilan selanjutnya dikelola oleh penjadwal yang telah sebelumnya dilampirkan ke konteks tersebut menggunakan metode CurrentScheduler::Create atau Scheduler::Attach.
static void __cdecl Detach();
Keterangan
Metode Detach secara implisit menghapus penghitungan 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 bersifat internal dan dikelola oleh penjadwal, atau konteks yang terlampir menggunakan metode selain Scheduler::Attach atau CurrentScheduler::Create metode, akan mengakibatkan pengecualian improper_scheduler_detach dilemparkan.
Dapatkan
Mengembalikan pointer ke penjadwal yang terkait dengan konteks panggilan, juga disebut sebagai penjadwal yang sedang aktif.
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 Scheduler yang dikembalikan oleh metode ini.
JumlahProsesorVirtual
Mengembalikan jumlah prosesor virtual saat ini untuk penjadwal yang terkait dengan konteks panggilan.
static unsigned int __cdecl GetNumberOfVirtualProcessors();
Tampilkan Nilai
Jika sebuah scheduler dikaitkan dengan konteks panggilan, maka jumlah prosesor virtual saat ini untuk scheduler 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 digunakan saat penjadwal saat ini dibuat.
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.
LokasiTersedia
Menentukan apakah lokasi tertentu tersedia pada penjadwal saat ini.
static bool __cdecl IsAvailableLocation(const location& _Placement);
Parameter
_Penempatan
Referensi ke lokasi untuk mengajukan kueri kepada 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 balik adalah pengambilan sampel instan mengenai ketersediaan lokasi yang diberikan. 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 diisyaratkan, semua pekerjaan yang telah dijadwalkan oleh penjadwal telah selesai. Beberapa peristiwa matikan dapat didaftarkan melalui metode ini.
static void __cdecl RegisterShutdownEvent(HANDLE _ShutdownEvent);
Parameter
_ShutdownEvent
Pegangan ke objek peristiwa Windows yang akan diberi sinyal oleh runtime pada saat penjadwal yang terkait dengan konteks saat ini dimatikan dan dihancurkan.
Keterangan
Jika tidak ada penjadwal yang dilampirkan ke konteks panggilan, memanggil metode ini akan mengakibatkan pengecualian scheduler_not_attached dilemparkan.
JadwalTugas
Menjadwalkan tugas ringan dalam penjadwal yang terkait dengan konteks panggilan. Tugas yang ringan akan ditempatkan dalam grup jadwal yang ditentukan oleh waktu jalan. 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 yang akan dijalankan untuk melaksanakan isi tugas ringan.
_Data
Sebuah penunjuk kosong ke data yang akan diteruskan sebagai parameter ke badan dari tugas.
_Penempatan
Referensi ke lokasi di mana tugas ringan akan cenderung lebih sering dieksekusi.
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
Penjadwal Tugas