BackgroundWorker
的类,它有一个持续运行的线程。要关闭这个线程,需要将一个名为stop
的实例变量设置为true
。为了确保在使用完类后释放该线程,我添加了
IDisposable
和一个调用Dispose()
的终结器。假设stop = true
确实会导致该线程退出,那么这段代码是正确的吗?从终结器中调用Dispose
是可以的,对吗?如果
object
继承了IDisposable
,那么终结器应该始终调用Dispose
,对吗?/// <summary>
/// Force the background thread to exit.
/// </summary>
public void Dispose()
{
lock (this.locker)
{
this.stop = true;
}
}
~BackgroundWorker()
{
this.Dispose();
}