예제 #1
0
        /// <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);
            }
        }
예제 #2
0
 public QueuedTask(Task task, PriorityGroupScheduler scheduler)
 {
     Task      = task;
     Scheduler = scheduler;
 }