5
我正在做一些多线程并使用AutoResetEvents和ManualResetEvents来控制我的主循环。当“destryoing”线程时,我也必须处理这些信号,这很明显。如何正确部署等待句柄
但我看到了不同的方式如何处置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();
....
}
+ 1 - 我完全忽略了Dispose是一个明确的接口实现的事实(谢谢Adam!) - 这当然是要走的路。 – 2010-04-27 15:33:38
听起来合理。我已经猜到第2版是“最干净”的一个。谢谢 – TomTom 2010-04-27 15:39:16