【发布时间】:2015-09-26 11:51:36
【问题描述】:
我只是想了解乐观和悲观锁定机制,并在https://en.wikipedia.org/wiki/Lock_(database)遇到了它们的定义
如果我尝试将这些概念与 java 而不是数据库相关联,我是否正确地说同步的使用总是悲观的,而 CAS(AtomicInteger 和其他类)的使用总是乐观的?
【问题讨论】:
我只是想了解乐观和悲观锁定机制,并在https://en.wikipedia.org/wiki/Lock_(database)遇到了它们的定义
如果我尝试将这些概念与 java 而不是数据库相关联,我是否正确地说同步的使用总是悲观的,而 CAS(AtomicInteger 和其他类)的使用总是乐观的?
【问题讨论】:
我说的对吗?同步使用总是悲观的 和一个 CAS(
AtomicInteger和其他类)的使用总是乐观的 ?
是的,你是对的。
传统的锁定机制,例如在java中使用同步关键字,据说是悲观技术的锁定或多线程。
乐观的方法就像那句老话,“宽恕比许可更容易”,这里的“更容易”意味着“更有效”。 CAS 是乐观技术的一个例子。 StampedLock 也支持乐观锁定。
【讨论】: