并发栈、消除与分布式协调技术详解
1. 并发栈相关练习与问题分析
1.1 并发栈练习概述
在并发编程中,栈是一种常用的数据结构。以下是一系列关于并发栈的练习,旨在帮助我们深入理解并发栈的实现和优化。
- 练习 126 :设计一个基于链表的无界锁栈 Stack<T> 实现。
- 练习 127 :
- 使用单锁和有界数组设计一个有界锁栈 Stack<T> 。
- 尝试使算法无锁,分析遇到的困难。
- 练习 128 :修改无界无锁栈,使其在没有垃圾回收器的情况下工作。创建一个线程本地的预分配节点池并回收它们,考虑使用 java.util.concurrent.atomic 中的 AtomicStampedReference<T> 类避免 ABA 问题。
- 练习 129 :讨论实现中使用的退避策略。在 LockFreeStack<T> 对象中,对入栈和出栈操作使用相同的共享 Backoff 对象是否合理?如何在 EliminationBackoffStack<T> 中在空间和时间上构建退避策略?
- 练习 130 :实现一个栈算法,假设在执行的任何状态下,栈的入栈和出栈操作数量之差
超级会员免费看
订阅专栏 解锁全文
1573

被折叠的 条评论
为什么被折叠?



