并发编程
文章平均质量分 76
并发编程的学习和实践
liuyunshengsir
全栈工程师
展开
-
详细了解 Synchronized 锁升级过程【并发编程】
1.Synchronized 作用 修饰静态方法:锁住当前 class,作用于该 class 的所有实例 修饰非静态方法:只会锁住当前 class 的实例 修饰代码块:该方法接受一个对象作为参数,锁住的即该对象 2.锁升级 synchronized锁有四种状态,无锁,偏向锁,轻量级锁,重量级锁,这几个状态会随着竞争状态逐渐升级,锁可以升级但不能降级,但是偏向锁状态可以被重置为无锁状态 「无锁 ==> 偏向锁 ==> 轻量级锁 ==> 重量级锁 」 3.对象头 4.synchron原创 2022-04-08 11:02:41 · 808 阅读 · 0 评论 -
CyclicBarrier 与CountDownLatch【并发编程】
1.CyclicBarrier的简单概述 CyclicBarrier是用于多线程相互等待到达一个公共的屏障点的同步工具类,如下图,小明,小宝,小周都需要等待其他人到达公共的屏障点后,才能继续做其他事,常用于多个线程需要一起完成的任务。本质是通过Lock,控制一个state状态,原子性的更新到0。 CyclicBarrier字面意思是“可重复使用的栅栏”,CyclicBarrier 相比 CountDownLatch 来说,要简单很多,其源码没有什么高深的地方,它是 ReentrantLock 和 Condi原创 2022-04-07 16:01:13 · 118 阅读 · 0 评论 -
CountDownLatch和Join【并发编程】
CountDownLatch和Join原创 2022-04-07 15:20:12 · 216 阅读 · 0 评论