c# регулирование нескольких очередей задач

Мне нужна среда, которая должна поддерживать разные очереди задач, и для каждой из них должно быть четко определенное количество параллельных потоков, которые могут выполняться для каждой очереди. Примерно так:

  • Очередь 1 -> 3 потока;
  • Очередь 2 -> 6 потоков;

Тип системы задач. Мне удалось реализовать это самостоятельно, используя простой старый код С# (также известный как System.Threading.Thread, блокировка и очередь), который работает более чем нормально в течение 1+ года. Тем не менее, я продолжаю читать статьи о чудесах TaskFactory и TaskScheduler, о том, что это возможно со встроенными классами в .NET, но мне не удалось найти пример, подтверждающий это. Я хотел бы протестировать его и сравнить с тем, что у меня есть сейчас, чтобы увидеть, работает ли он лучше, и если да, заменить его.

Более того, я могу жить без необходимости ограничивать/устанавливать количество параллельных потоков для каждой очереди, пока я могу получить гарантию, что если элемент, предназначенный для очереди #2, выполняется немедленно, даже если очередь №1 выполняется при полной загрузке.

Итак, мой вопрос: есть ли что-то в .net 4 и более, может ли кто-нибудь показать мне образец? Я ищу одну целую неделю и не смог получить что-то подходящее.

12
задан Kiquenet 4 September 2014 в 06:27
поделиться