Necesito un entorno que necesite mantener diferentes colas de tareas, y que cada una de ellas tenga un número bien definido de subprocesos simultáneos que se puedan ejecutar para cada cola. Algo como esto:C# tarea estrangulamiento de múltiples colas
- Cola 1 -> 3 hilos;
- Cola 2 -> 6 hilos;
Tipo de sistema de tarea. Me las he arreglado para implementar esto usando código old plain C# (también conocido como System.Threading.Thread, lock and queue) que funciona más que bien por un año. Sin embargo, sigo leyendo artículos sobre las maravillas de TaskFactory y TaskScheduler, acerca de ser posible esto con las clases integradas en .NET, pero no he podido encontrar un ejemplo para probar esto. Me gustaría probarlo y compararlo con lo que tengo ahora para ver si funciona mejor y, si lo hace, para reemplazarlo.
más, puedo vivir sin tener que limitar/establecer el número de hilos paralelos para cada cola, siempre que puedo conseguir el guarantee
que si un artículo destinado para la cola # 2 se ejecuta imediatly incluso si la cola # 1 está ejecutando a plena carga
Entonces, mi pregunta es - ¿hay algo en .NET 4 y más, alguien me puede indicar una muestra? Estoy buscando uno una semana entera y no conseguí algo relevante.
Para lograr lo que el OP parece querer, no es suficiente que las tareas se emitan en una cola de prioridad.Los hilos que ejecutan las tareas en la cola n. ° 2 deben ejecutarse con una prioridad más alta que aquellos que prestan servicio a la cola n. ° 1. No está claro que estas soluciones lo permitan? –
Sí, al parecer esto es lo que coincide con lo que necesito. Implementa colas diferentes y limita el número máximo de elementos que se pueden ejecutar al mismo tiempo y no detiene la segunda cola para ejecutar otros elementos en paralelo con el primero. ¡Gracias! – dcg