Ich mache einige Multithreading und AutoResetEvents und ManualResetEvents verwenden, um meine Hauptschleife zu steuern. Bei der "Zerstörung" der Threads muss ich diese Signale auch entsorgen, das ist klar.Wie man ein Waithandle korrekt disponiert
Aber ich sah verschiedene Möglichkeiten, wie waithandles zu entsorgen, und ich bin nicht sicher, welche richtig ist:
Version 1
if (disposing)
{
this.threadExitEvent.SafeWaitHandle.Dispose();
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Version 2
if (disposing)
{
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Version 3
if (disposing)
{
this.threadExitEvent.Close();
....
}
+ 1 - Ich habe völlig übersehen, dass Dispose eine explizite Interface-Implementierung ist (Danke, Adam!) - das ist sicher der richtige Weg. –
Klingt vernünftig. Ich habe bereits vermutet, dass Version 2 die "sauberste" Version ist. Vielen Dank – TomTom