- 博客(3)
- 收藏
- 关注
原创 AbstractQueuedSynchronizer源码分析
AbstractQueuedSynchronizer(AQS)是抽象队列同步器,为实现依赖于先进先出 (FIFO) 等待队列的阻塞锁定和相关同步器(信号量、事件,等等)提供了一个基础框架。 AQS最基本的数据结构是Node,等待队列中维护的对象就是Node结点。Node是AQS中定义的静态final的内部类,其中定义了waitStatus, prev, next, thread和nextWa...
2013-12-09 16:22:47 84
原创 CopyOnWriteArrayList分析
ArrayList并没有考虑并发的情况,在多线程高并发访问ArrayList的情况下,它并不能保证线程安全。CopyOnWriteArrayList是ArrayList变种,而且它是线程安全的。CopyOnWriteArrayList的add(), remove(), set()等方法的实现都会创建基础数组的拷贝,并在新创建的数组上实现add, remove, set等修改操作,最后将新数组设...
2013-11-29 22:13:56 52
原创 ConcurrentHashMap源码分析
ConcurrentHashMap是util.concurrent 的重要成员,是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。类似于Hashtable, ConcurrentHashMap是线程安全的;但是,区别在于ConcurrentHashMap使用了一种完全不同的加锁策略来提供更高的并发性和伸缩性。它并不是将每个方法都在同一个锁上同步并使得每次只能有一个线程访问容器,...
2013-11-25 21:53:54 115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人