Java技术点
文章平均质量分 72
寧靜致遠鈁
这个作者很懒,什么都没留下…
展开
-
多线程面试题
多线程、死锁、竞态原创 2023-02-09 15:32:52 · 89 阅读 · 0 评论 -
深入理解synchronized底层原理
一、synchronized的特性 1.1 原子性 1.2 可见性 1.3 有序性 1.4 可重入性 二、synchronized的用法 三、synchronized锁的实现 3.1 同步方法 3.2 同步代码块 四、synchronized锁的底层实现 五、JVM对synchronized的优化 5.1 锁膨胀 5.1.1 偏向锁 5.1.2 轻量级锁 5.1.3 重量级锁 5.2 锁消除 5.3 锁粗化 5.4 自旋锁与自适应自旋锁 前言 如果某一个资源被多个线程共享,为了避免因为资源抢占导致数据不一致转载 2022-04-03 16:39:50 · 240 阅读 · 0 评论 -
synchronized 与 ReentrantLock 的 异同
两者的共同点: 都是用来协调多线程对共享对象、变量的访问 都是可重入锁,同一线程可以多次获得同一个锁 都保证了可见性和互斥性 两者的不同点: ReentrantLock 显示的获得、释放锁,synchronized 隐式获得释放锁 ReentrantLock 可响应中断、可轮回,为处理锁的不可用性提供了更高的灵活性;synchronized 是不可以响应中断的,使用 synchronized 时,等待的线程会一直等待下去,不能够响应中断 ReentrantLock 是 API 级别的,synchron原创 2022-03-23 17:06:29 · 212 阅读 · 2 评论