码迷,mamicode.com
首页 >  
搜索关键字:reentrantlock 源码导读    ( 799个结果
公平锁与非公平锁
在使用ReentrantLock创建锁实例时,即可以创建公平锁,也可以创建非公平锁.默认是创建非公平锁. Lock lock = new ReentrantLock(true); // 创建一个公平锁 无论是创建公平锁,还是创建非公平锁,其底层都是使用AQS来实现的, 唯一的不同,就是非公平在加入C ...
分类:其他好文   时间:2019-12-22 00:58:11    阅读次数:123
java实现带过期时间的缓存
private static ScheduledExecutorService swapExpiredPool = new ScheduledThreadPoolExecutor(10); private ReentrantLock lock = new ReentrantLock(); priva ...
分类:编程语言   时间:2019-12-20 18:43:43    阅读次数:218
集合类源码(七)Map(ConcurrentHashMap, ConcurrentSkipListMap, TreeMap)
ConcurrentHashMap 内部结构 在JDK1.8之前的实现结构是:ReentrantLock+Segment+HashEntry+链表 JDK1.8之后的实现结构是:synchronized+CAS+Node+链表或红黑树(与HashMap一致) 而1.8之前锁的是Segment,1.8 ...
分类:其他好文   时间:2019-12-20 18:42:46    阅读次数:74
使用Condition
/** * ReentrantLock使用Condition对象来实现wait和notify的功能* 使用Condition时,引用的Condition对象必须从Lock实例的newCondition()返回,这样才能获得一个绑定了Lock实例的Condition实例* Condition提供的aw ...
分类:其他好文   时间:2019-12-20 15:31:11    阅读次数:99
AQS系列(三)- ReentrantReadWriteLock读写锁的加锁
前言 前两篇我们讲述了ReentrantLock的加锁释放锁过程,相对而言比较简单,本篇进入深水区,看看ReentrantReadWriteLock-读写锁的加锁过程是如何实现的,继续拜读老Lea凌厉的代码风。 一、读写锁的类图 读锁就是共享锁,而写锁是独占锁。读锁与写锁之间的互斥关系为:读读可同时 ...
分类:其他好文   时间:2019-12-19 23:12:58    阅读次数:70
并发和多线程(九)--AbstractQueuedSynchronizer基本原理
AbstractQueuedSynchronizer简称为AQS,AQS是ReentrantLock、CountdownLatch、CycliBarrier等并发工具的原理/基础,所以了解AQS的原理对学习J.U.C包很重要。 基本原理: 1.AQS中包含两种队列(FIFO),同步队列+条件队列,底 ...
分类:编程语言   时间:2019-12-19 19:27:05    阅读次数:69
ReentrantLock源码简析
概念 ReentrantLock,可重入锁。在多线程中,可以通过加锁保证线程安全。 ReentrantLock,是基于AQS实现的。 加锁和解锁 加锁: 解锁 内部类Sync继承AQS,因此可以维护状态变量state,通过acquire()获取state、release()释放state。后文会涉及 ...
分类:其他好文   时间:2019-12-19 11:25:28    阅读次数:84
面试【JAVA基础】阻塞队列
1、五种阻塞队列介绍 ArrayBlockingQueue 有界队列,底层使用数组实现,并发控制使用ReentrantLock控制,不管是插入操作还是读取操作,都需要获取锁之后才能执行。 LinkedBlockingQueue 底层基于单向链表实现,既可以当做有界队列,也可以当做无界队列使用。使用两 ...
分类:编程语言   时间:2019-12-18 23:34:53    阅读次数:125
synchronized 与 lock 的区别
synchronized 和 lock 的用法区别 synchronized(隐式锁):在需要同步的对象中加入此控制,synchronized 可以加在方法上,也可以加在特定代码块中,括号中表示需要锁的对象。 lock(显示锁):需要显示指定起始位置和终止位置。一般使用 ReentrantLock  ...
分类:其他好文   时间:2019-12-17 20:46:41    阅读次数:97
AQS源码的简单理解
概念 AQS全称 AbstractQueuedSynchronizer。 AQS是一个并发包的基础组件,用来实现各种锁,各种同步组件的。它包含了state变量、加锁线程、等待队列等并发中的核心组件。 ReentrantLock、Semaphore、CountDownLatch、FutrueTask, ...
分类:其他好文   时间:2019-12-17 00:54:44    阅读次数:126
799条   上一页 1 ... 15 16 17 18 19 ... 80 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!