回复: 请教各位大大关于动态内存管理的问题…… 我印象比较深的是你上来就bs GC但GC是我见过最舒服的内存管理方式了。
管理对象生命周期的模式不少,但各不相同。自动释放也是其中一种,很方便,但实现起来却有难度,特别是对于内存这种对性能要求极高的东西。但由于内存管理太重要了,前人也画了太多的代价在上面,因此还是有人做出了在工业上可用的GC.
硬件的发展是会造成区别的。为什么DOS不支持多任务而UNIX上手就是进程模型?因为PC的CPU不够强劲。不知道Windows 3.1只有合作式是不是也有类似的考虑。当CPU足够强劲,允许OS每10毫秒来干涉一下的时候优雅的枪战式多任务就占了上风:稳定不死机,客户代码也无须管什么时候释放CPU资源。这其实就使得CPU资源从需要显示被释放变成了自动被释放。 |