Я использую многопоточность и использую AutoResetEvents, а ManualResetEvents управляют моим основным циклом. При «уничтожении» потоков я также должен избавиться от этих сигналов, это ясно.
Но я видел разные способы избавления от Waithandles, и я не уверен, какой из них правильный:
Версия 1
if (disposing)
{
this.threadExitEvent.SafeWaitHandle.Dispose();
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Версия 2
if (disposing)
{
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Версия 3
if (disposing)
{
this.threadExitEvent.Close();
....
}