ScheduleGroup (clase)ScheduleGroup Class

Representa una abstracción para un grupo de programación.Represents an abstraction for a schedule group. Los grupos de programación organizan un conjunto de trabajos relacionados que se benefician de programarse juntos ya sea temporalmente, mediante la ejecución de otra tarea en el mismo grupo antes de trasladarse a otro grupo, o espacialmente, mediante la ejecución de varios elementos del mismo grupo en el mismo nodo NUMA o socket físico.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.

SintaxisSyntax

class ScheduleGroup;

MembersMembers

Constructores protegidosProtected Constructors

NombreName DescripciónDescription
~ ScheduleGroup (destructor)~ScheduleGroup Destructor

Métodos públicosPublic Methods

NombreName DescripciónDescription
IdId Devuelve un identificador para el grupo de programación que es único dentro del programador al que pertenece el grupo.Returns an identifier for the schedule group that is unique within the scheduler to which the group belongs.
ReferenciaReference Incrementa el contador de referencias del grupo de programación.Increments the schedule group reference count.
VersiónRelease Disminuye el contador de referencias del grupo de programación.Decrements the scheduler group reference count.
ScheduleTask (ScheduleTask Programa una tarea ligera dentro del grupo de programación.Schedules a light-weight task within the schedule group.

Jerarquía de herenciaInheritance Hierarchy

ScheduleGroup

RequisitosRequirements

Encabezado: concrt. hHeader: concrt.h

Espacio de nombres: simultaneidadNamespace: concurrency

SesiónId

Devuelve un identificador para el grupo de programación que es único dentro del programador al que pertenece el grupo.Returns an identifier for the schedule group that is unique within the scheduler to which the group belongs.

virtual unsigned int Id() const = 0;

Valor devueltoReturn Value

Identificador del grupo de programación que es único dentro del programador al que pertenece el grupo.An identifier for the schedule group that is unique within the scheduler to which the group belongs.

operador Deleteoperator delete

El tiempo de ejecución destruye internamente un objeto ScheduleGroup cuando se liberan todas las referencias externas a él.A ScheduleGroup object is destroyed internally by the runtime when all external references to it are released. No se puede eliminar explícitamente.It cannot be explicitly deleted.

void operator delete(
    void* _PObject);

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

ParámetrosParameters

_PObject_PObject
Puntero al objeto que se va a eliminar.A pointer to the object to be deleted.

ReferenciaReference

Incrementa el contador de referencias del grupo de programación.Increments the schedule group reference count.

virtual unsigned int Reference() = 0;

Valor devueltoReturn Value

Recuento de referencias incrementado recientemente.The newly incremented reference count.

ObservacionesRemarks

Normalmente se utiliza para administrar la duración del grupo de programación para la composición.This is typically used to manage the lifetime of the schedule group for composition. Cuando el recuento de referencias de un grupo de programación cae en cero, el tiempo de ejecución elimina el grupo de programación.When the reference count of a schedule group falls to zero, the schedule group is deleted by the runtime. Un grupo de programación creado mediante el método CurrentScheduler:: createschedulegroup ( o el método Scheduler:: createschedulegroup ( comienza con un recuento de referencias de uno.A schedule group created using either the CurrentScheduler::CreateScheduleGroup method, or the Scheduler::CreateScheduleGroup method starts out with a reference count of one.

EmisiónRelease

Disminuye el contador de referencias del grupo de programación.Decrements the scheduler group reference count.

virtual unsigned int Release() = 0;

Valor devueltoReturn Value

Recuento de referencias disminuido recientemente.The newly decremented reference count.

ObservacionesRemarks

Normalmente se utiliza para administrar la duración del grupo de programación para la composición.This is typically used to manage the lifetime of the schedule group for composition. Cuando el recuento de referencias de un grupo de programación cae en cero, el tiempo de ejecución elimina el grupo de programación.When the reference count of a schedule group falls to zero, the schedule group is deleted by the runtime. Después de llamar al método Release el número específico de veces que se va a quitar el recuento de referencias de creación y las referencias adicionales colocadas con el método Reference, no se puede utilizar el grupo de programación más allá.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. Si lo hace, se producirá un comportamiento indefinido.Doing so will result in undefined behavior.

Un grupo de programación está asociado a una instancia de Scheduler determinada.A schedule group is associated with a particular scheduler instance. Debe asegurarse de que todas las referencias al grupo de programación se liberan antes de que se liberen todas las referencias al programador, ya que este último podría provocar la destrucción del programador.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. De lo contrario, se produce un comportamiento indefinido.Doing otherwise results in undefined behavior.

~ ScheduleGroup~ScheduleGroup

virtual ~ScheduleGroup();

ScheduleTask (ScheduleTask

Programa una tarea ligera dentro del grupo de programación.Schedules a light-weight task within the schedule group.

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

ParámetrosParameters

_Proc_Proc
Puntero a la función que se va a ejecutar para realizar el cuerpo de la tarea ligera.A pointer to the function to execute to perform the body of the light-weight task.

_Data_Data
Un puntero void a los datos que se pasarán como parámetro al cuerpo de la tarea.A void pointer to the data that will be passed as a parameter to the body of the task.

ObservacionesRemarks

La llamada al método ScheduleTask coloca implícitamente un recuento de referencias en el grupo de programación que el Runtime quita en el momento adecuado después de que se ejecute la tarea.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.

Consulte tambiénSee also

concurrency (espacio de nombres)concurrency Namespace
CurrentScheduler (clase)CurrentScheduler Class
Scheduler (clase)Scheduler Class
Programador de tareasTask Scheduler