同步工具
同步工具
韩运畅
这个作者很懒,什么都没留下…
展开
-
AQS
AQS的核心是CAS尝试修改volatile变量state+一个双向队列管理线程。获取释放锁的原理(独占模式)关于那个唯一的活跃线程只有两种情况【1】头节点是活跃线程,或者活跃线程没有包装成节点同时没有等待节点【2】活跃线程没有包装成节点,头节点曾经是活跃线程,已经释放了资源第一种情况比较好理解,为什么会出现第二种情况呢,是因为允许非公平竞争资源的情况,最好的例子是ReentrantLock的非公平锁,它允许一个线程不检查是否需要排队直接尝试获取资源,这就有可能头节点唤醒next节点,但是因为原创 2020-11-29 16:54:42 · 508 阅读 · 0 评论 -
java并发脑图
https://www.processon.com/view/link/5b71947ce4b0be50eadcdad0原创 2020-02-12 23:20:06 · 165 阅读 · 0 评论 -
同步工具概览
ReentrantLock:• void lock() 获取锁,调用该方法当前线程将会获取锁,当锁获取后,该方法将返回。• void lockInterruptibly() throws InterruptedException 可中断获取锁,与 lock()方法不同之处在于该方法会响应中断,即在锁的获取过程中可以中断当前线程• boolean tryLock() 尝试非阻塞的获取锁,调用该...原创 2020-02-11 22:30:47 · 107 阅读 · 0 评论