Sto facendo un po 'di multi-threading e uso AutoResetEvents e ManualResetEvents controllano il mio ciclo principale. Quando "scaricano" i fili devo anche disporre di questi segnali, è chiaro.Come smaltire correttamente un waithiple
ma ho visto diversi modi come smaltire Waithandles, e non sono sicuro che uno è corretto:
Versione 1
if (disposing)
{
this.threadExitEvent.SafeWaitHandle.Dispose();
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Versione 2
if (disposing)
{
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
versione 3
if (disposing)
{
this.threadExitEvent.Close();
....
}
+ 1 - Ho completamente trascurato il fatto che Dispose è un'implementazione esplicita dell'interfaccia (grazie, Adam!) - questa è certamente la strada da percorrere. –
Suoni ragionevoli. Ho già intuito che la versione 2 è quella "più pulita". Grazie – TomTom