锁
一、锁
1、AQS写一个锁() CLH
Lock
Synchronized
CAS AQS子类定义为非公共内部帮助器类(私有的内部类继承AQS),写锁的时候的一个帮助器,提供获取锁和是释放锁的功能.模板。
acquire(int arg) 以独占模式获取对象,忽略中断。
acquireShared(int arg) 以共享模式获取对象,忽略中断。
tryAcquire(arg) 试图在独占模式下获取对象状态。
tryAcquireShared(int arg) 试图在共享模式下获取对象状态
release
(int arg)
以独占模式释放对象。
releaseShared
(int arg)
以共享模式释放对象
实例:
可重入性:同一个锁多统一资源进行占有的时候,直接分配给这个线程
2、ReentrantLock
公平锁
非公平锁
3、ReentrantReaderWriter
读取者优先或写入者优先强加给锁访问的排序。但是,它确实支持可选的公平策略。