0

我正在使用并行任务读取一些文件。在此操作期间,如果我取消任务,则文件句柄不会关闭。任务已成功取消。看起来我需要做更多的事情来在取消期间关闭文件句柄,但无法弄清楚我需要做什么。我假设任务取消将处理所有对象,但事实并非如此。任何帮助深表感谢。

4

1 回答 1

1

取消任务不会处理任何事情。我真的不知道您如何取消或启动您Task的 s 因为您没有显示任何代码,但推荐的方法是调用Cancel()task的方法CancellationTokenSource。当你的任务在做它应该做的事情时,它应该检查 tokens 属性IsCancellationRequested这篇文章很好地解释了这个过程。

清理工作完全取决于您。垃圾收集器将杀死普通对象,但您需要调用DisposeClose或您正在使用的任何昂贵对象的等效项。

为此,您有多种选择,Dispose手动调用、使用using块或实现某种工作单元模式。

于 2012-09-07T06:31:50.193 回答