并发编程
文章平均质量分 87
并发编程相关
Wayfreem
记录学习笔记
展开
-
Java锁升级:无锁 → 偏向锁 → 轻量级锁 → 重量级锁
从轻量级锁获取的流程中我们知道,当线程在获取轻量级锁的过程中执行CAS操作失败时,是要通过自旋来获取重量级锁的。一旦有第二个线程访问这个对象,因为偏向锁不会主动释放,所以第二个线程可以看到对象时偏向状态,这时表明在这个对象上已经存在竞争了,检查原来持有该对象锁的线程是否依然存活,如果挂了,则可以将对象变为无锁状态,然后重新偏向新的线程,如果原来的线程依然存活,则马上执行那个线程的操作栈,检查该对象的使用情况,如果仍然需要持有偏向锁,则偏向锁升级为轻量级锁,(偏向锁就是这个时候升级为轻量级锁的)。原创 2024-07-08 10:13:09 · 843 阅读 · 0 评论 -
CountDownLatch 学习与实战
为了方便于大家更快的知道这篇文章写了啥,这里呢说一点不太重要的废话,这边文章呢,会从 `CountDownLatch` 基础的知识点介绍起,然后结合一个具体的例子讲解下,最后呢,来一个实际的应用,好了,我们开始吧。另外这篇文章主要是讲的是怎么使用,并不是原理性的。文章的最后附上一个使用 CountDownLatch 实现的文件分片处理案例原创 2024-04-26 11:10:20 · 331 阅读 · 0 评论 -
循环栅栏 CycleBarrier 理解到深入
介绍 CycleBarrier,从一个例子开始理解,然后深入源码分析对应的实现原创 2022-06-21 16:20:34 · 2115 阅读 · 0 评论