我只是想了解乐观和悲观的锁定机制,并在https://en.wikipedia.org/wiki/Lock_(database)
遇到了它们的定义如果我尝试将概念与java而不是数据库联系起来,我是否正确地说同步使用始终是悲观的并且CAS(AtomicInteger
和其他类)的使用总是乐观的?
答案 0 :(得分:4)
我是否正确地说同步使用始终是悲观的 CAS(
AtomicInteger
和其他类)的使用总是乐观的 ?
是的,你是对的。
传统的锁定机制,例如在java中使用synchronized关键字,据说是悲观锁定或多线程技术。
乐观的方法就像古老的说法,“获得宽恕比获得更容易”,这里“更容易”意味着“更有效率”。 CAS是乐观技术的一个例子。 StampedLock也支持乐观锁定。