- 博客(5)
- 收藏
- 关注
转载 ThreadPoolExecutor 源码解析
Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序 都可以使用线程池。合理地使用线程池能够带来3个好处:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理...
2019-08-02 16:35:00
320
转载 Java中的阻塞队列
在并发编程中,有时候需要使用线程安全的队列。如果要实现一个线程安全的队列有两 种方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁 (入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现。非阻塞的实现方式则可以使用循环CAS的方式来实现。阻塞队列...
2019-07-30 20:23:00
249
转载 ConcurrentHashMap 1.7和1.8 源码解析
HashMap是一个线程不安全的类,在并发情况下会产生很多问题,详情可以参考HashMap 源码解析;HashTable是线程安全的类,但是它使用的是synchronized来保证线程安全,线程竞争激烈的情况下效率非常低下。在jdk1.5的时候引入了ConcurrentHashMap,这也是一...
2019-07-29 15:56:00
317
转载 HashMap 源码解析
源码学习,边看源码边加注释,边debug,边理解。基本属性常量DEFAULT_INITIAL_CAPACITY:默认数组的初始容量 - 必须是2的幂。MAXIMUM_CAPACITY:数组的最大容量DEFAULT_LOAD_FACTOR:哈希表的负载因子0.75TREEIFY...
2019-07-22 16:03:00
136
转载 AQS AbstractQueuedSynchronizer 同步框架
队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架。它主要的设计思想是使用一个名为state的int类型成员变量来表示同步状态,AQS里面大部分方法都是再对这个边进行操作;再内置一个FIFO队列来完成资源获取线程的排队工作...
2019-07-12 11:16:00
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人