![]() ![]() |
|
C#和VisualBasic中的闭包与对象生存时期 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:45:26 文章录入:杜斌 责任编辑:杜斌 | |
|
|
当指向该匿名函数的所有引用都消失后,该闭包变量即可正常地被垃圾回收器回收。注意到前一句中的“匿名函数”是复数形式(原文为anonymous functions——译者注)——因为同一个作用域中所有的匿名函数都共享了一个闭包。Eric Lippert说这个问题并没有受到足够的关注: 不过,对于同一个作用域中所有的匿名函数都共享了一个闭包的做法,我却没有看到任何人提到过这样会存在问题。虽然这样的设计在语义和概念上都比较容易理解(也比较容易实现),但在垃圾收集方面,这样的做法却有可能导致潜在的问题。 |
|
![]() ![]() |