/// <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; }
/// <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; }