예제 #1
0
 public TaskManager()
 {
     cts          = new CancellationTokenSource();
     this.manager = new ConcurrentExclusiveInterleave(cts.Token);
     instance     = this;
 }
예제 #2
0
 /// <summary>Initializes the scheduler.</summary>
 /// <param name="interleave">The parent interleave.</param>
 /// <param name="tasks">The queue to store queued tasks into.</param>
 internal ConcurrentExclusiveTaskScheduler(ConcurrentExclusiveInterleave interleave, Queue <Task> tasks, int maximumConcurrencyLevel)
 {
     _interleave = interleave ?? throw new ArgumentNullException(nameof(interleave));
     _maximumConcurrencyLevel = maximumConcurrencyLevel;
     Tasks = tasks ?? throw new ArgumentNullException(nameof(tasks));
 }