Estoy haciendo un multi-threading y uso AutoResetEvents y ManualResetEvents controlan mi main-loop. Cuando "destryoing" los hilos también tengo que eliminar estas señales, eso está claro.Cómo deshacerse de un indicador de espera correctamente
pero vi diferentes maneras de cómo desechar Waithandles, y no estoy seguro de cuál es la correcta:
Versión 1
if (disposing)
{
this.threadExitEvent.SafeWaitHandle.Dispose();
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Versión 2
if (disposing)
{
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Versión 3
if (disposing)
{
this.threadExitEvent.Close();
....
}
+ 1 - He olvidado por completo el hecho de que Dispose es una implementación de interfaz explícita (¡gracias, Adam!): Este es sin duda el camino a seguir. –
Suena razonable. Ya supuse que la versión 2 es la más "limpia". Gracias – TomTom