Estoy planeando usar el Auto Reset Event Handle para la comunicación Inter Thread..NET Thread Synchronization
EventWaitHandle handle = new EventWaitHandle(false, EventResetMode.AutoReset);
Mi productor código hilo mirada, como a continuación
produceSomething();
handle.Set();
En el hilo consumidor, tengo que descargar los datos por cada minuto o cuando el productor se llama al método Set
try
{
while(true)
{
handle.WaitOne(60000, false);
doSomething(); // Downloads data from Internet.
// Takes lot of time to complete it.
}
}
catch(ThreadAbortException)
{
cleanup();
}
Mi pregunta es si el hilo del consumidor está ejecutando la función doSomething
y las llamadas del productor establecen la función, ¿cuál sería el estado del objeto de evento de restablecimiento automático?
Mi requisito es que tan pronto como las llamadas del productor establezcan el método, tenga que descargar datos nuevos de Internet. Si se está ejecutando la función doSomething
, cuando Producer llame al método set, tengo que interrumpirlo y volver a llamar.