public TaskList(TaskFactory taskFactory) { pool = null; scheduler = null; this.taskFactory = taskFactory; cancellationTokenSource = new CancellationTokenSource(); tasks = new List <Task>(); }
public TaskList(int maxDegreeOfParallelism) { pool = new DedicatedThreadPool(new DedicatedThreadPoolSettings(maxDegreeOfParallelism)); scheduler = new DedicatedThreadPoolTaskScheduler(pool); taskFactory = new TaskFactory(scheduler); cancellationTokenSource = new CancellationTokenSource(); tasks = new List <Task>(); }
public ActionDispatcher(IEnumerable <IActionPipe> actionPipes, int numberOfThreadPoolThreads = 8) { pipes = actionPipes.ToArray(); resourceManager = new ResourceManager(); cancellationTokenSource = new CancellationTokenSource(); tasks = new Dictionary <IActionPipe, Task>(pipes.Length); pool = new DedicatedThreadPool(new DedicatedThreadPoolSettings(numberOfThreadPoolThreads)); Scheduler = new DedicatedThreadPoolTaskScheduler(pool); TaskFactory = new TaskFactory(cancellationTokenSource.Token, TaskCreationOptions.None, TaskContinuationOptions.None, Scheduler); SetUpProcessingDefaultEvents(); state = DispatcherState.NotStarted; }