我正在阅读Java Concurrency in Practice一书。在第 15 章中,他们讨论了非阻塞算法和比较和交换(CAS) 方法。
据记载,CAS 的性能比锁定方法好得多。我想问一下已经使用这两个概念的人,并且想知道您何时更喜欢这两个概念中的哪一个?真的快很多吗?
对我来说,锁的使用更清晰,更容易理解,甚至更好维护(如果我错了,请纠正我)。我们真的应该专注于创建与 CAS 相关的并发代码而不是锁来获得更好的性能提升,还是可持续性更重要?
我知道何时使用什么可能没有严格的规定。但我只是想听听一些关于CAS新概念的意见和经验。