2013-05-16 42 views
0

这可能是一个愚蠢的问题,但到目前为止我还找不到自己的答案。
我有一个C#/。Net应用程序创建任务对象来执行其部分工作。如果有任何异常提升,我将它们记录为here,但垃圾收集又如何?如果我不等待这些任务,它是否仍会清理其使用的资源?.NET中任务的垃圾收集

+0

你想让GC删除这些任务吗? AFAIK,C#GC不这样做... –

+0

我想防止内存泄漏。我不知道这个词是删除一项任务。我希望在任务完成时清理它,而不管可能引发的异常情况。 – Noich

回答

0

这可能是值得的GC是如何工作的http://msdn.microsoft.com/en-us/library/ee787088.aspx

读但是,相当多,如果一些地方有一个参考的Task对象则GC不会收集它。

+0

假设我没有 - 我在一个方法中本地创建一个新的Task对象,并且只记录它的异常(如我的问题中的链接所述)。在这种情况下,GC是否会收集任务并清理其资源? – Noich