/// <summary> /// Gets the or create a task scheduler for the given priority. /// </summary> /// <param name="priority">The priority.</param> /// <returns></returns> public TaskScheduler GetOrCreatePriorityGroup(int priority) { lock (priorityGroups) { PriorityGroupScheduler result; if (!priorityGroups.TryGetValue(priority, out result)) { priorityGroups.Add(priority, result = new PriorityGroupScheduler(this, priority)); } return(result); } }
public QueuedTask(Task task, PriorityGroupScheduler scheduler) { Task = task; Scheduler = scheduler; }