Мне нужна среда, которая должна поддерживать разные очереди задач, и для каждого из них иметь четко определенное количество параллельных потоков, которые могут выполняться для каждой очереди. Что-то вроде этого:
- Очередь 1 → 3 потока;
- Очередь 2 → 6 потоков;
Вид системы задач. Мне удалось реализовать сам, используя простой старый код С# (он же System.Threading.Thread, lock и queue), который работает более чем на 1 год. Тем не менее, я продолжаю читать статьи о чудесах TaskFactory и TaskScheduler, о том, что это возможно со встроенными классами в .NET, но я не смог найти пример, чтобы доказать это. Я бы хотел протестировать его и сравнить с тем, что у меня есть сейчас, чтобы увидеть, работает ли он лучше, и если это произойдет, чтобы заменить его.
Более того, я могу жить без необходимости ограничивать/устанавливать количество параллельных потоков для каждой очереди, если я могу получить guarantee
, если объект, предназначенный для очереди # 2, выполняется imediatly, даже если очередь # 1 выполнение при полной нагрузке.
Итак, мой вопрос: есть ли что-то в .net 4 и более, может кто-нибудь указать мне на образец? Я ищу одну целую неделю и не смог получить что-то важное.