我正在使用并行任务读取一些文件。在此操作期间,如果我取消任务,文件句柄不会关闭。任务已成功取消。看起来我需要做更多的事情来在取消期间关闭文件句柄,但不能弄清楚我需要做什么。我假设任务取消将处理所有对象,但事实并非如此。任何帮助都是非常感谢的。
发布于 2012-09-07 14:31:50
取消任务不会处理任何内容。我真的不知道如何取消或启动Tasks,因为您还没有展示任何代码,但推荐的方法是调用任务CancellationTokenSource的Cancel()方法。当您的任务正在做它应该做的事情时,它应该检查令牌属性IsCancellationRequested。This post很好地解释了这个过程。
清理工作完全由你决定。垃圾回收器将杀死普通对象,但您需要调用Dispose、Close或您正在使用的任何昂贵对象的等价物。
为此,您有几种选择,手动调用Dispose、使用using块或实现某种工作单元模式。
https://stackoverflow.com/questions/12311883
复制相似问题