LaB*_*cca 3 delphi garbage-collection fastmm
是否可以考虑将来在Delphi中使用自动垃圾收集器?在许多应用程序中,对何时释放对象进行高度详细的控制并不是那么重要,这只是一个需要关注的额外事情.
对于具有像java一样工作的垃圾收集器的应用程序,这将是有趣的.
它可以在项目选项中设置.
这可能与否?
注意:我不是故意像这里解释的那样手动创建它,我的意思是Delphi功能.
换句话说:是否可以将FastMM设置为垃圾收集器?
在许多应用程序中,对何时释放对象进行高度详细的控制并不是那么重要,这只是一个需要关注的额外事情.
我相信几乎没有这样的应用程序.大多数时候,您认为您不需要控制对象何时被销毁,您可能会引入一个错误.
现在,确实存在某些对象可以被安全地忽略以便稍后由自动收集器处理的情况.但请记住,您需要考虑到您计划的每个对象,而不是手动销毁.如果有一些锁怎么办?如果它有一些文件打开,可能是在共享拒绝模式下怎么办?
让你免于思考破坏每个物体没有多大好处,何时安全编程你还需要考虑摧毁每个物体.
垃圾收集器的目的不是让程序员免于看到这些东西.这是为了节省引用计数和try/finally调用.
在C和C++中可以进行垃圾收集,所以我认为Delphi没有理由不具备这样的功能.如果你交叉手指并等待足够长的时间,Delphi可能会收集垃圾.不过,我认为这不是Embarcadero的优先考虑事项.
您不能将FastMM设置为垃圾收集器,因为FastMM不执行垃圾收集,因此无需设置任何内容.Delphi假设的未来垃圾收集功能可能需要与内存管理器配合,因此如果这样的功能存在,并且FastMM当时仍然是内存管理器,那么FastMM可能会获得一些设置.
| 归档时间: |
|
| 查看次数: |
2743 次 |
| 最近记录: |