接上篇
5、显式锁StampedLock
StampedLock锁是基于能力的锁,可以很好的实现乐观锁和悲观锁的逻辑,此处为jdk1.8提供的api,而且理解不深入的情况下容易出现死锁或者不必要的麻烦,所以谨慎使用
三种模式
写:writeLock阻塞,可返回一个标志,当锁以写模式持有时,没有读锁可以直接获取,所有乐观性读确认将失败;
读:read Lock 可能为非独占访问而阻塞等待
乐观读:锁当前未被写模式持有,tryOptimisticRead返回一个非0标识
此处直接挂Java中doc提供的例子
一个线程安全的单例模式写法