/// <summary> /// Initializes a new instance of the ParallelTaskProcesor class /// </summary> /// <param name="identifier">the unique identifier of this ParallelTaskProcessor instance</param> /// <param name="worker">A Callback that generates new Workers on Demand</param> /// <param name="highestPriority">the highest priority that is processed by this processor.</param> /// <param name="lowestPriority">the highest priority that is processed by this processor.</param> /// <param name="workerCount">the number of parallel Workers for this queue</param> /// <param name="workerPollTime">the pollTime after that a suspended poller re-checks the queues for more work</param> /// <param name="lowTaskThreshold">the minimum number of Items that should be in a queue for permanent processing</param> /// <param name="highTaskThreshold">the maximum number of Items that should be queued in a workerQueue</param> /// <param name="useAffineThreads">indicates whether to use ThreadAffinity in the workers</param> /// <param name="watchDog">a watchdog instance that will restart worker-instances when they become unresponsive</param> public ParallelTaskProcessor(string identifier, Func <ITaskWorker <TTask> > worker, int highestPriority, int lowestPriority, int workerCount, int workerPollTime, int lowTaskThreshold, int highTaskThreshold, bool useAffineThreads, bool runWithoutSchedulers, bool useTasks, WatchDog watchDog) : base(identifier, worker, highestPriority, lowestPriority, workerCount, workerPollTime, lowTaskThreshold, highTaskThreshold, useAffineThreads, runWithoutSchedulers, useTasks, watchDog) { }
/// <summary> /// Initializes a new instance of the TaskWorker class /// </summary> /// <param name="identifier">the unique identifier of this taskprocessor</param> /// <param name="worker">the worker that is used by all ThreadWorkers</param> /// <param name="highestPriority">the highest Priority that is supported by this parallelProcessor</param> /// <param name="lowestPriority">the lowest Priority that is supported by this parallelProcessor</param> /// <param name="workerCount">the number of workers that are initialized in this ParallelTaskProcessor</param> /// <param name="workerPollTime">the number of milliseconds a worker waits between single cycles with nothing to do</param> /// <param name="lowTaskThreshold">the minimum number of Items that should be in a queue for permanent processing</param> /// <param name="highTaskThreshold">the maximum number of Items that should be queued in a workerQueue</param> /// <param name="useAffineThreads">indicates whether to use ThreadAffinity in the workers</param> /// <param name="watchDog">a watchdog instance that will restart worker-instances when they become unresponsive</param> protected ParallelTaskProcessor(string identifier, Func <ITaskWorker> worker, int highestPriority, int lowestPriority, int workerCount, int workerPollTime, int lowTaskThreshold, int highTaskThreshold, bool useAffineThreads, bool runWithoutSchedulers, bool useTasks, WatchDog watchDog) : this(identifier, worker, highestPriority, lowestPriority, workerCount, workerPollTime, lowTaskThreshold, highTaskThreshold, useAffineThreads, runWithoutSchedulers, useTasks) { this.watchDog = watchDog; }