Пример #1
0
        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();
        }
Пример #2
0
        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();
        }
Пример #3
0
 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);
     }
 }