摘要: 类 作用 Semaphore 限制线程数量 Exchanger 两个线程交换数据 CountDownLatch 递减屏障,线程等待直到计数器减为0时开始工作 CyclicBarrier 循环屏障,等屏障的线程数达到初始化值时,执行自定义的任务 Phaser 增强的CyclicBarrier Coun 阅读全文
posted @ 2024-02-04 16:51 云哲 阅读(20) 评论(0) 推荐(0)
摘要: CopyOnWrite容器即写时复制的容器,当我们往⼀个容器中添加元素的时候,不直接往容器中添加,⽽是将当前容器进⾏copy,复制出来⼀个新的容器,然后向新容器中添加我们需要的元素,最后将原容器的引⽤指向新容器,这个过程中是使用ReentrantLock加锁了的。这样做的好处在于,我们可以在并发的场 阅读全文
posted @ 2024-02-04 14:58 云哲 阅读(49) 评论(0) 推荐(0)
摘要: ConcurrentHashMap1.8之前提供了⼀种粒度更细的加锁机制来实现在多线程下更⾼的性 能,这种机制叫分段锁(Lock Striping)。 提供的优点是:在并发环境下将实现更⾼的吞吐量,⽽在单线程环境下只损失⾮常 ⼩的性能。 可以这样理解分段锁,就是将数据分段,对每⼀段数据分配⼀把锁。当 阅读全文
posted @ 2024-02-04 14:34 云哲 阅读(30) 评论(0) 推荐(0)
摘要: AQS:AbstractQueuedSynchronizer 抽象队列同步器 抽象:抽象类,只实现⼀些主要逻辑 定义一些默认的模板方法,有些⽅法由⼦类实现; 队列:使⽤先进先出(FIFO)队列存储数据; 同步:实现了同步的功能。 核心思想:被请求的共享资源空闲时,首先获得共享资源锁的线程被设置为工作 阅读全文
posted @ 2024-02-04 10:32 云哲 阅读(18) 评论(0) 推荐(0)