CurrentScheduler::CreateScheduleGroup Method

Creates a new schedule group within the scheduler associated with the calling context. 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.

static ScheduleGroup * __cdecl CreateScheduleGroup();

static ScheduleGroup * __cdecl CreateScheduleGroup(
   location& _Placement


  • _Placement
    A reference to a location where the tasks within the schedule group will be 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.


This method will result in the process' default scheduler being created and/or attached to the calling context if there is no scheduler currently associated with the calling context.

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 reference on the scheduler, by detaching the current context from it.


Header: concrt.h

Namespace: concurrency

See Also


CurrentScheduler Class

ScheduleGroup Class

ScheduleGroup::Release Method

location Class


Task Scheduler (Concurrency Runtime)