
并发编程
文章平均质量分 85
夏日彩虹
这个作者很懒,什么都没留下…
展开
-
面试官在问你synchronized的底层原理,你就这样回答
在后端面试时,经常会被问到 volatile 关键字可以保证原子性吗?我们肯定知道是不能保证原子性的。那么接下来面试官会问,如何保证原子性呢?要想保证原子性,就要依赖于同步机制。原创 2024-05-08 11:39:26 · 241 阅读 · 1 评论 -
看了这篇文章,妈妈再也不会担心面试官问我volatile关键字底层原理了
volatile 关键字是 JVM 提供的最轻量级的同步机制,用来修饰变量,用来保证变量对所有线程可见性。原创 2024-05-08 09:26:40 · 1809 阅读 · 1 评论 -
线程的生命周期
创建WaitingState类,此线程会在一个while(true)循环中,获取当前类Class对象的synchronized锁,也就是说,这个类无论创建多少个实例,synchronized锁都是同一个,并且线程会处于等待状态。一个线程从创建,到最终的消亡,需要经历多种不同的状态,而这些不同的线程状态,由始至终也构成了线程生命周期的不同阶段。为了更好的理解线程的生命周期,以及生命周期中的各个状态,接下来使用代码示例来输出线程的每个状态信息。启动各个线程,验证各个线程输出的状态,代码如下所示。原创 2023-08-23 12:23:39 · 143 阅读 · 0 评论 -
AbstractQueuedSynchronizer 源码分析 (基于Java 8)
AbstractQueuedSynchronizer 定义AbstractQueuedSynchronizer 是JUC 中通过 Sync Queue(并发安全的 CLH Queue),Condition Queue(普通的 list) , volatile 变量 state 提供的控制线程获取统一资源(state) 的 Synchronized 工具。...原创 2020-04-26 22:04:14 · 207 阅读 · 0 评论