删除所有对象引用后,异步方法会发生什么?

时间:2011-05-08 15:58:20

标签: c# asynchronous garbage-collection

删除对类的所有引用后,异步方法会发生什么?该对象最终的寿命是否超出应有的时间(异步方法完成之前)?或者取消异步方法?我问,因为我没有编译器来测试。

1 个答案:

答案 0 :(得分:4)

启动异步方法的对象实例将保持活动状态,直到操作完成。在某个线程包含对它的引用之前,它不符合垃圾收集的条件。异步API在线程池的线程上保留对此对象的引用,并且在操作结束之前不会对其进行垃圾回收。垃圾收集器不会取消异步方法。