ScheduleGroup — Klasa
Reprezentuje abstrakcję dla grupy harmonogramu. Grupy harmonogramu organizują zestaw powiązanych prac, które mogą korzystać z zaplanowanego zbliżenia ze sobą albo czasowo, wykonując inne zadanie w tej samej grupie przed przejściem do innej grupy lub przestrzennie, wykonując wiele elementów w tej samej grupie w tym samym węźle NUMA lub w gniazdach fizycznych.
Składnia
class ScheduleGroup;
Elementy członkowskie
Konstruktory chronione
Nazwa/nazwisko | opis |
---|---|
~ScheduleGroup, destruktor |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
Id | Zwraca identyfikator grupy harmonogramu, która jest unikatowa w harmonogramie, do którego należy grupa. |
Odwołanie | Zwiększa liczbę odwołań do grupy harmonogramu. |
Wydanie | Dekrementuje liczbę odwołań do grupy harmonogramu. |
ScheduleTask | Planuje lekkie zadanie w grupie harmonogramu. |
Hierarchia dziedziczenia
ScheduleGroup
Wymagania
Nagłówek: concrt.h
Przestrzeń nazw: współbieżność
Id
Zwraca identyfikator grupy harmonogramu, która jest unikatowa w harmonogramie, do którego należy grupa.
virtual unsigned int Id() const = 0;
Wartość zwracana
Identyfikator grupy harmonogramu, która jest unikatowa w harmonogramie, do którego należy grupa.
operator delete
Obiekt ScheduleGroup
jest niszczony wewnętrznie przez środowisko uruchomieniowe po wydaniu wszystkich odwołań zewnętrznych do niego. Nie można go jawnie usunąć.
void operator delete(
void* _PObject);
void operator delete(
void* _PObject,
int,
const char *,
int);
Parametry
_PObject
Wskaźnik do obiektu, który ma zostać usunięty.
Odwołanie
Zwiększa liczbę odwołań do grupy harmonogramu.
virtual unsigned int Reference() = 0;
Wartość zwracana
Nowo zwiększana liczba odwołań.
Uwagi
Jest to zwykle używane do zarządzania okresem istnienia grupy harmonogramu na potrzeby kompozycji. Gdy liczba odwołań grupy harmonogramu spadnie do zera, grupa harmonogramu zostanie usunięta przez środowisko uruchomieniowe. Grupa harmonogramu utworzona przy użyciu metody CurrentScheduler::CreateScheduleGroup lub metody Scheduler::CreateScheduleGroup rozpoczyna się od liczby odwołań.
Zwolnij
Dekrementuje liczbę odwołań do grupy harmonogramu.
virtual unsigned int Release() = 0;
Wartość zwracana
Nowo zdekrementowana liczba odwołań.
Uwagi
Jest to zwykle używane do zarządzania okresem istnienia grupy harmonogramu na potrzeby kompozycji. Gdy liczba odwołań grupy harmonogramu spadnie do zera, grupa harmonogramu zostanie usunięta przez środowisko uruchomieniowe. Po wywołaniu Release
metody określoną liczbę razy, aby usunąć liczbę odwołań tworzenia i wszelkie dodatkowe odwołania umieszczone przy użyciu Reference
metody, nie można dalej korzystać z grupy harmonogramu. Spowoduje to niezdefiniowane zachowanie.
Grupa harmonogramu jest skojarzona z określonym wystąpieniem harmonogramu. Należy upewnić się, że wszystkie odwołania do grupy harmonogramu są zwalniane przed wydaniem wszystkich odwołań do harmonogramu, ponieważ ten ostatni może spowodować zniszczenie harmonogramu. W przeciwnym razie powoduje niezdefiniowane zachowanie.
~ScheduleGroup
virtual ~ScheduleGroup();
ScheduleTask
Planuje lekkie zadanie w grupie harmonogramu.
virtual void ScheduleTask(
TaskProc _Proc,
_Inout_opt_ void* _Data) = 0;
Parametry
_Proc
Wskaźnik do funkcji do wykonania w celu wykonania treści zadania lekkiego.
_Dane
Wskaźnik void do danych, które zostaną przekazane jako parametr do treści zadania.
Uwagi
ScheduleTask
Wywołanie metody niejawnie umieszcza liczbę odwołań w grupie harmonogramu, która jest usuwana przez środowisko uruchomieniowe w odpowiednim czasie po wykonaniu zadania.
Zobacz też
Przestrzeń nazw współbieżności
CurrentScheduler, klasa
Scheduler, klasa
Harmonogram zadań