7
我有一個類,它產生可以無限期運行的各種任務。當這個對象被丟棄時,我想停止這些任務的運行。取消Dispose方法中的任務
這是正確的做法:
public class MyClass : IDisposable
{
// Stuff
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
{
queueCancellationTokenSource.Cancel();
feedCancellationTokenSource.Cancel();
}
}
}
很好的答案 - 謝謝。一個問題:你爲什麼要處置這個任務? – davenewza
僅僅因爲這樣做是安全的,因爲你可以保證當前任務已經結束。但[你並不需要](http://blogs.msdn.com/b/pfxteam/archive/2012/03/25/10287435.aspx)。 – Douglas
好吧。感謝您的閱讀。 – davenewza