- 博客(4)
- 收藏
- 关注
原创 Lock和Condition原来是这么配对使用的
jdk既然提供了monitor对象和synchronized关键字配合wait、notify、notifyAll方法实现等待/通知模式,为什么还要提供Lock和Condition配合await、signal、signalAll来实现等待/通知模式Lock可以显性的获取和释放锁,synchronized是隐性的.Lock支持手动获取锁,释放锁,我们可以自定义我们需要的锁,比如可重入锁,读写锁,具备更强的可拓展性.
2023-06-06 16:49:41
596
1
原创 Java多线程原理
获取过程:尝试获取,测试对象头中的Mark word中是否存储当前的线程ID,如果测试失败,就查看偏向锁标识位是否为1,没有设置,就用CAS竞争,设置了,则使用CAS将对象头的偏向锁指向当前线程.-----原子指不可再分割的最小单位,原子操作指不可中断的一个或一系列操作。锁的状态一共就有了4种,级别从低到高依次为:无锁、偏向锁、轻量级锁、重量级锁.1.6为了减少获得锁和释放锁带来的性能消耗,引入了“偏向锁”和“轻量级锁”.锁机制,能保证只有获得锁的线程才能操作锁定的内存区域.
2023-05-23 12:12:51
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人