![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
小谭学java
这个作者很懒,什么都没留下…
展开
-
ReentrantReadWriteLock
ReentrantReadWriteLock(读写锁) 什么是读写锁 读写锁是一种特殊的锁,他把对资源的访问分为读访问和写访问,多个线程可以同时对共享资源进行读访问,但是同一时间只能有一个线程对共享资源进行写访问,使用读写锁可以极大地提高并发量。 读写锁特性 是否互斥 读 写 读 否 是 写 是 是 类结构 从类图我们可以看到 1、ReentrantReadWriteLo...原创 2020-02-05 16:30:26 · 224 阅读 · 0 评论 -
ReentrantLock
ReentrantLock ReentranLock是并发包中提供的基于AQS实现的一个可重入锁,ReentranLock提供公平锁和非公平锁两种锁。 ReentrantLock和Syncronized的异同? 相同:都是同步锁,可重入锁。 不同: 1、Syncronized时JVM实现的,ReentrantLock是JDK(java类)实现的。 2、ReentrantLock需要配合try/f...原创 2020-02-04 14:55:45 · 1169 阅读 · 0 评论 -
AQS同步器
AQS(同步器) AQS是AbstractQueuedSynchronizer的简称,是一个用来构建锁和同步器的框架。 原理概述 AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列...原创 2020-02-04 14:54:22 · 199 阅读 · 0 评论