随笔分类 -  juc

对于AQS的理解
摘要:AQS是多线程同步器,它是J.U.C包中多个组件的底层实现,如Lock、CountDownLatch、Semaphore等都用到了AQS. 从本质上来说,AQS提供了两种锁机制,分别是排它锁,和 共享锁。 排它锁,就是存在多线程竞争同一共享资源时,同一时刻只允许一个线程访问该共享资源,也就是多个线程 阅读全文

posted @ 2022-03-09 20:48 云中哥 阅读(67) 评论(0) 推荐(0) 编辑

CyclicBarrier原理
摘要:CyclicBarrier内部是通过条件队列trip来对线程进行阻塞的,并且其内部维护了两个int型的变量parties和count,parties表示每次拦截的线程数,该值在构造时进行赋值。count是内部计数器,它的初始值和parties相同,以后随着每次await方法的调用而减1,直到减为0就 阅读全文

posted @ 2022-03-03 13:08 云中哥 阅读(46) 评论(0) 推荐(0) 编辑

CountDownLatch实现原理
摘要:CountDownLatch在多线程同步中,通过维护count变量并保证其原子性操作,并通过countDown方法和await()两个方法实现同步功能,首先通过建立CountDownLatch对象,并且传入参数为count的初始值。如果一个线程调用await调用方法,那么线程便进入阻塞,并阻塞队列。 阅读全文

posted @ 2022-03-03 13:07 云中哥 阅读(51) 评论(0) 推荐(0) 编辑

ConcurrentHashMap
摘要:concurrentHashMap为什么可以提高并发行?ConcurrentHashMap使用索分段技术,将数据存储分成一段一段,然后给每一段配上一把索,当一个线程占用锁访问其中一个段数据的时候,其他段数据还可以被访问。 ConcurrentHashMap 锁机制具体分析(JDK 1.7 VS JD 阅读全文

posted @ 2022-03-02 23:57 云中哥 阅读(38) 评论(0) 推荐(0) 编辑

线程池
摘要:https://www.cnblogs.com/dolphin0520/p/3932921.html 阅读全文

posted @ 2022-02-25 23:20 云中哥 阅读(7) 评论(0) 推荐(0) 编辑

volatile理解
摘要:https://www.cnblogs.com/dolphin0520/p/3920373.html volatile有两层语义: 1.保证多线程对变量操作时的可见性,即一个线程对变量修改后,对其他线程立刻可见。 2.禁止指令重排序。 第一点,在计算机内存模型上存在数据缓存一致性的问题。因为在执行程 阅读全文

posted @ 2022-02-22 00:10 云中哥 阅读(32) 评论(0) 推荐(0) 编辑

由浅入深理解Java线程池及线程池的如何使用
摘要:https://www.cnblogs.com/superfj/p/7544971.html 阅读全文

posted @ 2021-11-25 11:23 云中哥 阅读(26) 评论(0) 推荐(0) 编辑

AQS基础——多图详解CLH锁的原理与实现
摘要:https://zhuanlan.zhihu.com/p/197840259 https://www.cnblogs.com/waterystone/p/4920797.html 阅读全文

posted @ 2021-02-22 15:43 云中哥 阅读(48) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示