我有一个类,可以生成各种可以无限运行的任务。当这个对象被处理时,我想停止这些任务的运行。
这是否正确的方法:
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();
}
}
}
IAsyncDisposable
(自那时以来已经引入)。您是否想要等待Task
的处理或只是快速处理其处置取决于实际用例。 - Douglas