主要观点:朴素引用计数在不共享对象的系统中容易实现,但在共享对象的系统中存在问题。介绍了多个与引用计数相关的问题及解决方案。
关键信息:
- 共享对象时的两个问题:存储到堆需要 XCHG 操作,竞争增量和减量。
- 已知解决方案:同步收集器和变异器、危险指针、传递责任、ThreadScan 等,但都有一定难度和微妙之处。
- 危险指针的微妙之处:节点状态可能变化导致释放可从堆访问的对象。
重要细节: - 单线程应用中存储到堆的实现方式。
- 多线程系统中扩展存储到堆的 XCHG 操作及开销。
- 竞争增量和减量的代码示例及可能出现的崩溃情况。
- 各解决方案的相关文献引用及简要介绍。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。