Todo esto sucede en un servicio de Windows.Procesamiento de n elementos a la vez utilizando simultáneamente la Biblioteca de tareas paralelas
Tengo un Queue<T>
(en realidad un ConcurrentQueue<T>
) con elementos a la espera de ser procesados. Pero, no quiero procesar solo uno a la vez, quiero procesar n elementos al mismo tiempo, donde n es un entero configurable.
¿Cómo hago esto al usar la Biblioteca de tareas paralelas?
Sé que TPL dividirá las colecciones en nombre del desarrollador para el procesamiento simultáneo, pero no estoy seguro si esa es la característica que estoy buscando. Soy nuevo en multiprocesamiento y TPL.
El BlockingCollection derrota el propósito de la cola. No puedo eliminar un elemento de una colección de bloqueo mientras se está iterando. –
No, puede usar su [GetConsumingEnumerable] (http://msdn.microsoft.com/en-us/library/dd287186.aspx) en su lugar. como, 'foreach (Elemento item en _collection.GetConsumingEnumerable())' también bloqueará allí esperando que se agreguen elementos si la colección está vacía. –