ScheduleGroup Sınıfı
Zamanlama grubu için soyutlamayı temsil eder. Zamanlama grupları, başka bir gruba geçmeden önce aynı gruptaki başka bir görevi yürüterek veya uzamsal olarak aynı numa düğümünde veya fiziksel yuvada aynı grup içinde birden çok öğe yürüterek zamanlanmış olarak birbirine yakın zamanlanmanın avantajlarından yararlanan ilgili bir çalışma kümesini düzenler.
Sözdizimi
class ScheduleGroup;
Üyeler
Korumalı Oluşturucular
Ad | Tanım |
---|---|
~ScheduleGroup Yıkıcısı |
Genel Yöntemler
Ad | Tanım |
---|---|
Kimlik | Grubun ait olduğu zamanlayıcıda benzersiz olan zamanlama grubu için bir tanımlayıcı döndürür. |
Başvuru | Zamanlama grubu başvuru sayısını artırır. |
Sürüm | Zamanlayıcı grubu başvuru sayısını azaltma. |
ScheduleTask | Zamanlama grubu içinde hafif bir görev zamanlar. |
Devralma Hiyerarşisi
ScheduleGroup
Gereksinimler
Üst bilgi: concrt.h
Ad alanı: eşzamanlılık
Id
Grubun ait olduğu zamanlayıcıda benzersiz olan zamanlama grubu için bir tanımlayıcı döndürür.
virtual unsigned int Id() const = 0;
İade Değeri
Grubun ait olduğu zamanlayıcı içinde benzersiz olan zamanlama grubunun tanımlayıcısı.
işleç silme
Bir ScheduleGroup
nesne, tüm dış başvuruları serbest bırakıldığında çalışma zamanı tarafından dahili olarak yok edilir. Açıkça silinemez.
void operator delete(
void* _PObject);
void operator delete(
void* _PObject,
int,
const char *,
int);
Parametreler
_Pobject
Silinecek nesnenin işaretçisi.
Başvuru
Zamanlama grubu başvuru sayısını artırır.
virtual unsigned int Reference() = 0;
İade Değeri
Yeni artırılan başvuru sayısı.
Açıklamalar
Bu genellikle oluşturma için zamanlama grubunun ömrünü yönetmek için kullanılır. Zamanlama grubunun başvuru sayısı sıfıra düştüğünde zamanlama grubu çalışma zamanı tarafından silinir. CurrentScheduler::CreateScheduleGroup yöntemi veya Scheduler::CreateScheduleGroup yöntemi kullanılarak oluşturulan bir zamanlama grubu, bir başvuru sayısıyla başlar.
Sürüm
Zamanlayıcı grubu başvuru sayısını azaltma.
virtual unsigned int Release() = 0;
İade Değeri
Yeni azalan başvuru sayısı.
Açıklamalar
Bu genellikle oluşturma için zamanlama grubunun ömrünü yönetmek için kullanılır. Zamanlama grubunun başvuru sayısı sıfıra düştüğünde zamanlama grubu çalışma zamanı tarafından silinir. Oluşturma başvuru sayısını ve yöntemi kullanılarak Reference
yerleştirilen ek başvuruları kaldırmak için yöntemini belirli sayıda çağırdıktan Release
sonra zamanlama grubunu daha fazla kullanamazsınız. Bunun yapılması tanımsız davranışa neden olur.
Zamanlama grubu belirli bir zamanlayıcı örneğiyle ilişkilendirilir. Zamanlayıcıya yapılan tüm başvurular yayımlanmadan önce zamanlama grubuna yapılan tüm başvuruların yayınlandığından emin olmanız gerekir, çünkü ikincisi zamanlayıcının yok edilmesine neden olabilir. Aksi takdirde tanımsız davranışla sonuçlanır.
~Schedulegroup
virtual ~ScheduleGroup();
ScheduleTask
Zamanlama grubu içinde hafif bir görev zamanlar.
virtual void ScheduleTask(
TaskProc _Proc,
_Inout_opt_ void* _Data) = 0;
Parametreler
_Yordam
Basit görevin gövdesini gerçekleştirmek için yürütülecek işlev işaretçisi.
_Veri
Görevin gövdesine parametre olarak geçirilecek verilere ilişkin geçersiz bir işaretçi.
Açıklamalar
yöntemini çağırmak ScheduleTask
, görev yürütülürken çalışma zamanı tarafından uygun bir zamanda kaldırılan zamanlama grubuna örtük olarak bir başvuru sayısı yerleştirir.
Ayrıca bkz.
Eşzamanlılık Ad Alanı
CurrentScheduler Sınıfı
Zamanlayıcı Sınıfı
Görev Zamanlayıcı
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin