public NimbusTaskScheduler(ThreadPriority priority, ILogger logger, MinimumThreadPoolThreadsSetting minimumThreadPoolThreads, MaximumThreadPoolThreadsSetting maximumThreadPoolThreads) { _priority = priority; _logger = logger; _minimumThreadPoolThreads = minimumThreadPoolThreads; _maximumThreadPoolThreads = maximumThreadPoolThreads; var watcher = new Thread(Watcher) { Name = ToString() + "Watcher", IsBackground = true, Priority = ThreadPriority.Highest, }; watcher.Start(); }
public NimbusTaskFactory(MaximumThreadPoolThreadsSetting maximumThreadPoolThreads, MinimumThreadPoolThreadsSetting minimumThreadPoolThreads, ILogger logger) { foreach (var priority in Enum.GetValues(typeof(ThreadPriority)).Cast <ThreadPriority>()) { _schedulers[priority] = new NimbusTaskScheduler(priority, logger, minimumThreadPoolThreads, maximumThreadPoolThreads); } }