예제 #1
0
 /// <summary>Initializes the debug view.</summary>
 /// <param name="interleave">The interleave being debugged.</param>
 public ConcurrentExclusiveInterleaveDebugView(ConcurrentExclusiveInterleave interleave)
 {
     if (interleave == null)
     {
         throw new ArgumentNullException("interleave");
     }
     _interleave = interleave;
 }
예제 #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>
 /// <param name="maximumConcurrencyLevel">The maximum concurrecy level</param>
 internal ConcurrentExclusiveTaskScheduler(ConcurrentExclusiveInterleave interleave, Queue <Task> tasks, int maximumConcurrencyLevel)
 {
     if (interleave == null)
     {
         throw new ArgumentNullException("interleave");
     }
     if (tasks == null)
     {
         throw new ArgumentNullException("tasks");
     }
     _interleave = interleave;
     _maximumConcurrencyLevel = maximumConcurrencyLevel;
     Tasks = tasks;
 }