Sdílet prostřednictvím


ScheduleGroup – třída

Představuje abstrakci pro skupinu plánů. Skupiny plánování uspořádají sadu souvisejících prací, která je přínosná z toho, že se časově spojí, spuštěním jiného úkolu ve stejné skupině před přesunutím do jiné skupiny nebo prostorově spuštěním více položek ve stejné skupině na stejném uzlu NUMA nebo fyzickém soketu.

Syntaxe

class ScheduleGroup;

Členové

Chráněné konstruktory

Jméno popis
~ScheduleGroup – destruktor

Veřejné metody

Jméno popis
Id Vrátí identifikátor pro skupinu plánů, která je jedinečná v rámci plánovače, do kterého skupina patří.
Odkaz Zvýší počet odkazů na skupinu plánů.
Vydaná verze Sníží počet odkazů na skupinu plánovačů.
ScheduleTask Naplánuje lehký úkol v rámci skupiny plánů.

Hierarchie dědičnosti

ScheduleGroup

Požadavky

Hlavička: concrt.h

Obor názvů: souběžnost

ID

Vrátí identifikátor pro skupinu plánů, která je jedinečná v rámci plánovače, do kterého skupina patří.

virtual unsigned int Id() const = 0;

Vrácená hodnota

Identifikátor skupiny plánů, která je jedinečná v rámci plánovače, do které skupina patří.

delete – operátor

Objekt ScheduleGroup je vnitřně zničen modulem runtime při uvolnění všech externích odkazů na něj. Nelze jej explicitně odstranit.

void operator delete(
    void* _PObject);

void operator delete(
    void* _PObject,
    int,
const char *,
    int);

Parametry

_PObject
Ukazatel na objekt, který se má odstranit.

Reference

Zvýší počet odkazů na skupinu plánů.

virtual unsigned int Reference() = 0;

Vrácená hodnota

Nově navýšený počet odkazů.

Poznámky

Obvykle se používá ke správě životnosti skupiny plánů pro složení. Pokud počet odkazů skupiny plánů klesne na nulu, skupina plánů se odstraní modulem runtime. Skupina plánů vytvořená pomocí metody CurrentScheduler::CreateScheduleGroup nebo Metoda Scheduler::CreateScheduleGroup začíná počtem odkazů na jednu.

Release

Sníží počet odkazů na skupinu plánovačů.

virtual unsigned int Release() = 0;

Vrácená hodnota

Nově dekrementovaný počet odkazů.

Poznámky

Obvykle se používá ke správě životnosti skupiny plánů pro složení. Pokud počet odkazů skupiny plánů klesne na nulu, skupina plánů se odstraní modulem runtime. Po zavolání Release metody konkrétní početkrát odebrat počet odkazů na vytvoření a všechny další odkazy umístěné pomocí Reference metody nelze dále využít skupinu plánů. Výsledkem tohoto chování bude nedefinované chování.

Skupina plánů je přidružená k konkrétní instanci plánovače. Před uvolněním všech odkazů na plánovač se musíte ujistit, že všechny odkazy na skupinu plánů budou vydány, protože to může vést ke zničení plánovače. Jinak by to mohlo za následek nedefinované chování.

~ScheduleGroup

virtual ~ScheduleGroup();

ScheduleTask

Naplánuje lehký úkol v rámci skupiny plánů.

virtual void ScheduleTask(
    TaskProc _Proc,
    _Inout_opt_ void* _Data) = 0;

Parametry

_Proc
Ukazatel na funkci, která se má provést, aby se provedlo tělo lehké úlohy.

_Dat
Ukazatel void na data, která se předají jako parametr textu úkolu.

Poznámky

ScheduleTask Volání metody implicitně umístí počet odkazů na skupinu plánů, která je odebrána modulem runtime v příslušné době po spuštění úlohy.

Viz také

concurrency – obor názvů
CurrentScheduler – třída
Scheduler – třída
Plánovač úloh