任务并行库文件句柄

时间:2012-09-07 04:48:38

标签: .net task-parallel-library

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

1 个答案:

答案 0 :(得分:1)

取消任务不会处置任何事情。我真的不知道如何取消或启动Task,因为您没有显示任何代码,但推荐的方法是调用任务Cancel()的{​​{1}}方法。当您的任务正在执行它应该执行的操作时,应检查标记属性CancellationTokenSourceThis post很好地解释了这个程序。

清理完全取决于你。垃圾收集器将终止正常对象,但您需要调用IsCancellationRequestedDispose或相当于您正在使用的任何昂贵对象。

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