Udostępnij za pośrednictwem


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ń