锁定java - 乐观与悲观

时间:2015-09-26 11:51:36

标签: java locking

我只是想了解乐观和悲观的锁定机制,并在https://en.wikipedia.org/wiki/Lock_(database)

遇到了它们的定义

如果我尝试将概念与java而不是数据库联系起来,我是否正确地说同步使用始终是悲观的并且CAS(AtomicInteger和其他类)的使用总是乐观的?

1 个答案:

答案 0 :(得分:4)

  

我是否正确地说同步使用始终是悲观的   CAS(AtomicInteger和其他类)的使用总是乐观的   ?

是的,你是对的。

传统的锁定机制,例如在java中使用synchronized关键字,据说是悲观锁定或多线程技术。

乐观的方法就像古老的说法,“获得宽恕比获得更容易”,这里“更容易”意味着“更有效率”。 CAS是乐观技术的一个例子。 StampedLock也支持乐观锁定。