Tengo varias operaciones en paralelo. Para las sucesivas.. Paralelo sucesivo de .NET para - Bloqueo después de cada
Actualmente estoy examinando el valor de retorno de cada Parallel.For ParallelLoopResult
y durmiendo durante 20 milisegundos hasta que el miembro IsCompleted
se establezca en verdadero.
Dim plr as ParallelLoopResult
plr = Parallel.For(...)
while not plr.IsCompleted
Thread.Sleep(20)
end while
plr = Parallel.For(...)
while not plr.IsCompleted
Thread.Sleep(20)
end while
.
.
.
¿Cómo puedo añadir un bloque de nivel de núcleo (es decir WaitHandle) en lugar del bucle y Thread.Sleep? ¿Hay algún evento de finalización que Parallel.For triggers? ¿Parallel.For provee para tal mecanismo?
Cierto, pero no responde a mi pregunta de cómo esperar hasta que el ciclo finalice utilizando una construcción de nivel de kernel. – ColorEyes
Pero no hay nada de qué esperar. Piensa que lo que estás preguntando es cómo puedes dormir el hilo hasta que algunas señales parezcan que 'IsCompleted' ha cambiado. El problema es que 'IsCompleted' nunca cambiará después de que' Parallel.For' se haya completado. –
Si creo un WaitHandle, ¿cómo podría señalar ese identificador de espera cuando finalice el Parallel.For? – ColorEyes