Scheduler::CreateScheduleGroup Method

Creates a new schedule group within the scheduler. The version that takes the parameter _Placement causes tasks within the newly created schedule group to be biased towards executing at the location specified by that parameter.

virtual ScheduleGroup * CreateScheduleGroup() =0;

virtual ScheduleGroup * CreateScheduleGroup(
   location& _Placement
) =0;


  • _Placement
    A reference to a location where the tasks within the schedule group will biased towards executing at.

Return Value

A pointer to the newly created schedule group. This ScheduleGroup object has an initial reference count placed on it.


You must invoke the Release method on a schedule group when you are done scheduling work to it. The scheduler will destroy the schedule group when all work queued to it has completed.

Note that if you explicitly created this scheduler, you must release all references to schedule groups within it, before you release your references on the scheduler.


Header: concrt.h

Namespace: concurrency

See Also


Scheduler Class

ScheduleGroup Class

ScheduleGroup::Release Method

location Class


Task Scheduler (Concurrency Runtime)