Saltar al contenido

Método de ejecución de C# (con parámetros) con ThreadPool

Te recomendamos que revises esta resolución en un entorno controlado antes de pasarlo a producción, un saludo.

Solución:

Más o menos de la misma manera, pero use un WaitCallback pasado a ThreadPool.QueueUserWorkItem:

var numThreads = 20;
var toProcess = numThreads;

var resetEvent = new ManualResetEvent(false);

for (var i = 0; i < numThreads; i++)

    ThreadPool.QueueUserWorkItem (
        new WaitCallback(delegate(object state) 
        Do_SomeWork(Parameter1, Parameter2, Parameter3);
        if (Interlocked.Decrement(ref toProcess) == 0) resetEvent.Set();
    ), null);


resetEvent.WaitOne();

Recuerda que puedes permitirte valorar este ensayo si diste con el arreglo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *