
Java并发编程的艺术读后感
文章平均质量分 73
jason_zhang_7
Slow is smooth, Smooth is fast
展开
-
Lock和Condition原来是这么配对使用的
jdk既然提供了monitor对象和synchronized关键字配合wait、notify、notifyAll方法实现等待/通知模式,为什么还要提供Lock和Condition配合await、signal、signalAll来实现等待/通知模式Lock可以显性的获取和释放锁,synchronized是隐性的.Lock支持手动获取锁,释放锁,我们可以自定义我们需要的锁,比如可重入锁,读写锁,具备更强的可拓展性.原创 2023-06-06 16:49:41 · 715 阅读 · 1 评论 -
重入锁原理
支持可重入的锁,并且支持获取锁时的公平和非公平性选择.原创 2023-05-26 16:12:27 · 170 阅读 · 1 评论 -
Java多线程原理
获取过程:尝试获取,测试对象头中的Mark word中是否存储当前的线程ID,如果测试失败,就查看偏向锁标识位是否为1,没有设置,就用CAS竞争,设置了,则使用CAS将对象头的偏向锁指向当前线程.-----原子指不可再分割的最小单位,原子操作指不可中断的一个或一系列操作。锁的状态一共就有了4种,级别从低到高依次为:无锁、偏向锁、轻量级锁、重量级锁.1.6为了减少获得锁和释放锁带来的性能消耗,引入了“偏向锁”和“轻量级锁”.锁机制,能保证只有获得锁的线程才能操作锁定的内存区域.原创 2023-05-23 12:12:51 · 185 阅读 · 0 评论