注意
- 这是不是站在使用开发语言的角度,而是站在开发开发语言的角度。
- 这是解决引用计数类内存管理的开发语言的循环引用问题,不是gc类的。
- 能解决但不一定会被采用,因为有得就有失。
思路
把引用计数改成引用线程链表,线程内变量的最大的作用域结束时可以释放变量,若变量不存在其他引用的线程则可以直接释放,否则就由其他线程释放。
缺点
内存使用增加,释放的时候存在并发需要使用锁,创建线程的时候需要把变量的所有子对象的引用线程更新一下。
结果
只要禁止循环引用,那么还是使用引用计数的内存管理会更好,简单直接、快速高效。