上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 52 下一页
摘要: 1 前言 上节我们看了下ReentrantReadWriteLock读写锁的属性以及内部结构,我们回顾下:(1)ReentrantReadWriteLock内部有两把锁,读锁ReadLock、写锁WriteLock,基于AQS实现的读写锁并发工具Sync;其中无论读锁还是写锁都是基于Sync进行封装 阅读全文
posted @ 2023-04-07 23:24 酷酷- 阅读(89) 评论(0) 推荐(0)
摘要: 1 前言 接下来我们来看看ReentrantReadWriteLock读写锁,也是基于之前讲解的AQS来实现的,建立在AQS体系之上的一个并发工具类,这个锁很重要,在很多开源的中间件中使用的非常广泛,很多场景使用它来减少并发操作中的锁冲突,提升并发能力。 2 ReentrantReadWriteLo 阅读全文
posted @ 2023-04-07 22:03 酷酷- 阅读(152) 评论(0) 推荐(0)
摘要: 1 前言 接下来我们来看看Semaphore,也是基于之前讲解的AQS来实现的,建立在AQS体系之上的一个并发工具类。 2 Semaphore是什么 Semaphore,它是一个信号量,主要作用是用来控制并发中同一个时刻执行的线程数量,可以用来做限流器,或者流程控制器。在创建的时候会指定好它有多少个 阅读全文
posted @ 2023-04-07 16:47 酷酷- 阅读(501) 评论(0) 推荐(0)
摘要: 1 前言 接下来我们来看看CyclicBarrier,也是基于之前讲解的AQS来实现的,建立在AQS体系之上的一个并发工具类,依赖了ReentrantLock。 2 CyclicBarrier是什么 CyclicBarrier,就是一个计数器栅栏,也就是一个计数器开关。比如CyclicBarrier 阅读全文
posted @ 2023-04-07 08:32 酷酷- 阅读(246) 评论(0) 推荐(0)
摘要: 1 前言 接下来我们来看看CountDownLatch,也是基于之前讲解的AQS来实现的,建立在AQS体系之上的一个并发工具类。 2 CountDownLatch是什么 CountDownLatch类似一个有多道锁的门闩,CountDownLatch在创建的时候就指定好有多少道锁链了。假如有个门闩 阅读全文
posted @ 2023-04-07 07:35 酷酷- 阅读(270) 评论(0) 推荐(0)
摘要: 1 前言 上一节我们深入分析了ReentrantLock公平锁、非公平锁底层的源码实现,这节就分析ReentrantLock提供的另外一个机制,Condition机制的底层实现。 2 什么是Condition,是干什么的 ReentrantLock提供的这个Condition功能,底层还是基于AQS 阅读全文
posted @ 2023-04-06 22:36 酷酷- 阅读(625) 评论(0) 推荐(0)
摘要: 1 前言 先回顾下我们前面讲解的,AQS作为基础的并发框架为我们提供了: (1)AQS作为一个并发的基础框架,定义了资源,规定了获取资源的入口、释放资源的入口,定义了等待队列,同时还有一套机制规定了获取锁失败的线程进入等待队列等待,以及资源释放的时候怎么唤醒等待队列的线程重新竞争锁等。(2)深入的剖 阅读全文
posted @ 2023-04-06 17:22 酷酷- 阅读(200) 评论(0) 推荐(1)
摘要: 1 前言 上一节我们详细讲解了基于AQS实现的互斥锁机制,进行了深入的剖析,包括从acquire入口源码开始,剖析了获取锁失败调用addWaiter方法加入等待队列,知道了Node节点是怎么插入等待队列的;同时还剖析acquireQueue方法的源码,解析了插入等待队列之后的节点什么时候被挂起,什么 阅读全文
posted @ 2023-04-06 07:59 酷酷- 阅读(203) 评论(0) 推荐(0)
摘要: 1 前言 上一节我们从整体上分析了什么是AQS以及AQS内部的数据结构,那么这节我们就从acquire和release入手,分析一下AQS为独占锁提供的机制:到底是怎么在获取资源失败进入等待队列的?以及释放资源的时候怎么唤醒后继节点的线程竞争锁的? 2 acquire 方法源码解析 首先我们看一下A 阅读全文
posted @ 2023-04-05 21:40 酷酷- 阅读(273) 评论(0) 推荐(0)
摘要: 1 前言 这节我们来开始看 AQS,这个东西可以说是搞Java的都知道的,本节会介绍一下AQS以及它提供的基本机制,后面再对AQS提供的每一个机制一个个深入的剖析。 2 什么是AQS?(同步器基础框架) AQS叫做抽象队列同步器(AbstractQueuedSynchronizer),它是一个实现了 阅读全文
posted @ 2023-04-05 16:22 酷酷- 阅读(394) 评论(0) 推荐(1)
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 52 下一页