Класс ScheduleGroupScheduleGroup Class

Представляет абстракцию для группы расписаний.Represents an abstraction for a schedule group. Группы расписаний организуют набор связанных работ, которые выигрывают от планирования в непосредственной близости друг от друга: во времени (путем выполнения другой задачи в той же группе перед перемещением в другую группу) или в пространстве (путем выполнения нескольких элементов в той же группе в том же узле NUMA или физическом сокете).Schedule groups organize a set of related work that benefits from being scheduled close together either temporally, by executing another task in the same group before moving to another group, or spatially, by executing multiple items within the same group on the same NUMA node or physical socket.

СинтаксисSyntax

class ScheduleGroup;

ЧленыMembers

Защищенные конструкторыProtected Constructors

ИмяName ОписаниеDescription
Деструктор ~ ScheduleGroup~ScheduleGroup Destructor

Открытые методыPublic Methods

nameName ОписаниеDescription
IdId Возвращает идентификатор для группы расписаний, уникальный в пределах планировщика, к которому принадлежит группа.Returns an identifier for the schedule group that is unique within the scheduler to which the group belongs.
СсылкиReference Увеличивает значение счетчика ссылок группы расписания.Increments the schedule group reference count.
РелизRelease Уменьшает значение счетчика ссылок группы планировщика.Decrements the scheduler group reference count.
ScheduleTaskScheduleTask Планирует облегченную задачу в группе расписаний.Schedules a light-weight task within the schedule group.

Иерархия наследованияInheritance Hierarchy

ScheduleGroup

ТребованияRequirements

Заголовок: ConcRT. hHeader: concrt.h

Пространство имен: параллелизмNamespace: concurrency

УдостоверенияId

Возвращает идентификатор для группы расписаний, уникальный в пределах планировщика, к которому принадлежит группа.Returns an identifier for the schedule group that is unique within the scheduler to which the group belongs.

virtual unsigned int Id() const = 0;

Возвращаемое значениеReturn Value

Идентификатор группы расписаний, уникальный в пределах планировщика, к которому принадлежит группа.An identifier for the schedule group that is unique within the scheduler to which the group belongs.

оператор DELETEoperator delete

ScheduleGroupОбъект внутренне уничтожается средой выполнения, когда все внешние ссылки на него освобождаются.A ScheduleGroup object is destroyed internally by the runtime when all external references to it are released. Его невозможно удалить явно.It cannot be explicitly deleted.

void operator delete(
    void* _PObject);

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

ПараметрыParameters

_PObject_PObject
Указатель на удаляемый объект.A pointer to the object to be deleted.

IsReferenceReference

Увеличивает значение счетчика ссылок группы расписания.Increments the schedule group reference count.

virtual unsigned int Reference() = 0;

Возвращаемое значениеReturn Value

Вновь увеличивающееся число ссылок.The newly incremented reference count.

КомментарииRemarks

Обычно это используется для управления временем существования группы расписаний для композиции.This is typically used to manage the lifetime of the schedule group for composition. Если количество ссылок группы расписаний становится равным нулю, Группа расписаний удаляется средой выполнения.When the reference count of a schedule group falls to zero, the schedule group is deleted by the runtime. Группа расписаний, созданная с помощью метода CurrentScheduler:: CreateScheduleGroup или метода Scheduler:: CreateScheduleGroup , начинается со счетчика ссылок одного из них.A schedule group created using either the CurrentScheduler::CreateScheduleGroup method, or the Scheduler::CreateScheduleGroup method starts out with a reference count of one.

ОтпусканииRelease

Уменьшает значение счетчика ссылок группы планировщика.Decrements the scheduler group reference count.

virtual unsigned int Release() = 0;

Возвращаемое значениеReturn Value

Вновь уменьшенное число ссылок.The newly decremented reference count.

КомментарииRemarks

Обычно это используется для управления временем существования группы расписаний для композиции.This is typically used to manage the lifetime of the schedule group for composition. Если количество ссылок группы расписаний становится равным нулю, Группа расписаний удаляется средой выполнения.When the reference count of a schedule group falls to zero, the schedule group is deleted by the runtime. После вызова Release метода определенное число раз для удаления счетчика ссылок на создание и любых дополнительных ссылок, помещенных с помощью Reference метода, вы не сможете использовать группу расписаний дальше.After you have called the Release method the specific number of times to remove the creation reference count and any additional references placed using the Reference method, you cannot utilize the schedule group further. Это приведет к неопределенному поведению.Doing so will result in undefined behavior.

Группа расписаний связана с определенным экземпляром планировщика.A schedule group is associated with a particular scheduler instance. Необходимо убедиться, что все ссылки на группу расписаний освобождены до выпуска всех ссылок на планировщик, так как Последнее может привести к уничтожению планировщика.You must ensure that all references to the schedule group are released before all references to the scheduler are released, because the latter could result in the scheduler being destroyed. В противном случае это приведет к неопределенному поведению.Doing otherwise results in undefined behavior.

~ ScheduleGroup~ScheduleGroup

virtual ~ScheduleGroup();

ScheduleTaskScheduleTask

Планирует облегченную задачу в группе расписаний.Schedules a light-weight task within the schedule group.

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

ПараметрыParameters

_Proc_Proc
Указатель на функцию, которая должна быть выполнена, чтобы выполнить задачу неплотности.A pointer to the function to execute to perform the body of the light-weight task.

_Data_Data
Указатель типа void на данные, которые будут переданы в качестве параметра в текст задачи.A void pointer to the data that will be passed as a parameter to the body of the task.

КомментарииRemarks

Вызов ScheduleTask метода неявно помещает счетчик ссылок на группу расписаний, которая удаляется средой выполнения в соответствующее время после выполнения задачи.Calling the ScheduleTask method implicitly places a reference count on the schedule group which is removed by the runtime at an appropriate time after the task executes.

См. также разделSee also

Пространство имен Concurrencyconcurrency Namespace
Класс CurrentSchedulerCurrentScheduler Class
Класс SchedulerScheduler Class
Планировщик заданийTask Scheduler