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