上一页 1 2 3 4 5 6 7 8 9 ··· 84 下一页

2024年9月3日

ConcurrentHashMap源码剖析

摘要: ConcurrentHashMap源码剖析 https://www.bilibili.com/video/BV1Qg41197FG/?spm_id_from=333.337.search-card.all.click&vd_source=273847a809b909b44923e3af1a7ef0b 阅读全文

posted @ 2024-09-03 13:59 ~码铃薯~ 阅读(13) 评论(0) 推荐(0) 编辑

2024年9月2日

并发容器中的各种队列 ArrayBlockingQueue**源码剖析

摘要: 并发容器中的各种队列 ArrayBlockingQueue:数组阻塞队列 LinkendBlockingQueue: 链表阻塞队列 LinkedBlockingDeque: 链表阻塞双端队列 LinkedTransferQueue: 链表阻塞传输队列 SynchronousQueue: 没有缓冲的阻 阅读全文

posted @ 2024-09-02 19:20 ~码铃薯~ 阅读(5) 评论(0) 推荐(0) 编辑

Semaphore源码剖析

摘要: Semaphore源码剖析 Semaphore从英⽂单词上翻译是:信号量,可以理解 他是⼀个 许可证。只有获取到 许可证 的线程,才能执⾏相应逻辑,同时拿⾛ 许可证,⽽那些没有获取到的线程 只能等待。当持有 许可证 的线程 执⾏完成 后,需要 归还 许可证, 下⼀个线程 才可以 获取 许可证 执⾏相 阅读全文

posted @ 2024-09-02 17:05 ~码铃薯~ 阅读(4) 评论(0) 推荐(0) 编辑

CyclicBarrier源码介绍

摘要: CyclicBarrier源码介绍 循环栅栏, 他的特点是可以循环使⽤,当多个线程都到达同指定点时,再同进执⾏。 测试案例: public class CyclicBarrierDemo { public static void main(String[] args) { CyclicBarrier 阅读全文

posted @ 2024-09-02 15:51 ~码铃薯~ 阅读(10) 评论(0) 推荐(0) 编辑

CountDownLatch源码剖析

摘要: CountDownLatch 门闩,他可以让多个线程 都阻塞在⼀个地⽅,直到 所有线程任务都执⾏完成。 测试案例: 先让子线程执行完了,再让主线程执行 public class CountDownLatchDemo { public static void main(String[] args) { 阅读全文

posted @ 2024-09-02 14:46 ~码铃薯~ 阅读(6) 评论(0) 推荐(0) 编辑

2024年9月1日

ReentrantReadWriteLock源码剖析

摘要: ReentrantReadWriteLock源码剖析 synchronized和ReentrantLock都是互斥锁。 为什么要出现读写锁:如果说有一个操作是读多写少的,还要保证线程安全的话。如果采用上述的两种互斥锁,效率方面很 定是很低的。在这种情况下,咱们就可以使用ReentrantReadWr 阅读全文

posted @ 2024-09-01 14:20 ~码铃薯~ 阅读(3) 评论(0) 推荐(0) 编辑

ReentrantLock源码剖析

摘要: ReentrantLock源码剖析 测试案例: public class ReentrantLockDemo { // ReentrantLock lock = new ReentrantLock(); // 默认是非公平锁 // ReentrantLock lock = new Reentrant 阅读全文

posted @ 2024-09-01 13:32 ~码铃薯~ 阅读(3) 评论(0) 推荐(0) 编辑

ConditionObject源码剖析

摘要: ConditionObject源码剖析 这玩意是AQS的一个内部类。 案例演示: public class ReentrantLockConditionDemo { ReentrantLock lock = new ReentrantLock(); Condition condition = loc 阅读全文

posted @ 2024-09-01 10:43 ~码铃薯~ 阅读(2) 评论(0) 推荐(0) 编辑

2024年8月31日

CAS原理剖析

摘要: CAS原理剖析 compare and swap也就是比较和交换,他是一条CPU的并发原语。 他在替换内存的某个位置的值时,首先查看内存中的值与预期值是否一致,如果一致,执行替换操作。这个操作是一个原子性操作。 Java中基于Unsafe的类提供了对CAS的操作的方法,JVM会帮助我们将方法实现CA 阅读全文

posted @ 2024-08-31 17:17 ~码铃薯~ 阅读(6) 评论(0) 推荐(0) 编辑

AQS源码剖析

摘要: AQS源码剖析 AQS就是AbstractQueuedSynchronizer抽象类,AQS其实就是JUC包下的一个基类,JUC下的很多内容都是基于AQS实现了部分功能,比如ReentrantLock,ThreadPoolExecutor,CountDownLatch,Semaphore,Cycli 阅读全文

posted @ 2024-08-31 16:46 ~码铃薯~ 阅读(7) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 84 下一页

导航