锁定 java - 乐观与悲观
Locking in java - Optimistic vs Pessimistic
我只是想了解乐观和悲观锁定机制,并在 https://en.wikipedia.org/wiki/Lock_(database)
上看到了它们的定义
如果我尝试将这些概念与 java 而不是数据库联系起来,我说同步用法总是悲观的并且 CAS(AtomicInteger
和其他 类) 使用总是乐观的?
Am I right in saying that a synchronized usage is always pessimistic
and a CAS (AtomicInteger
and other classes) usage is always optimistic
?
是的,你是对的。
传统的锁定机制,例如在 java 中使用 synchronized 关键字被认为是 悲观 锁定或多线程技术。
乐观的做法正如那句老话,“得饶不如得准”,这里的“容易”是指“更有效率”。 CAS 是 乐观 技术的一个例子。 StampedLock 还支持乐观锁定。
我只是想了解乐观和悲观锁定机制,并在 https://en.wikipedia.org/wiki/Lock_(database)
上看到了它们的定义如果我尝试将这些概念与 java 而不是数据库联系起来,我说同步用法总是悲观的并且 CAS(AtomicInteger
和其他 类) 使用总是乐观的?
Am I right in saying that a synchronized usage is always pessimistic and a CAS (
AtomicInteger
and other classes) usage is always optimistic ?
是的,你是对的。
传统的锁定机制,例如在 java 中使用 synchronized 关键字被认为是 悲观 锁定或多线程技术。
乐观的做法正如那句老话,“得饶不如得准”,这里的“容易”是指“更有效率”。 CAS 是 乐观 技术的一个例子。 StampedLock 还支持乐观锁定。