Java并发包源码解析
收藏

Java并发包(java.util.concurrent)源码解析。 主要基于jdk1.6。 更高jdk版本的并发包源码解析也会陆续加进来。

分享到: Sina Tec

最近更新文章

Jdk1.6 JUC源码解析(15)-SynchronousQueue

Jdk1.6 JUC源码解析(15)-SynchronousQueue 作者:大飞   功能简介: SynchronousQueue是一种特殊的阻塞队列,它本身没有容量,只有当一个线程从队列取数据的同时,另一个线程才能放一个数据到队列中,反之亦然。存取过程相当于一个线程把数据(安全的)交给另一个线程的过程。 SynchronousQueue也支持公平和非公平模式。 源码分析: ...
BrokenDreams 评论(0) 有2552人浏览 2015-10-26 19:19

Jdk1.6 JUC源码解析(14)-PriorityBlockingQueue

Jdk1.6 JUC源码解析(14)-PriorityBlockingQueue 作者:大飞   功能简介: PriorityBlockingQueue是一种基于PriorityQueue实现的无界的阻塞队列。队列中的元素按照 ...
BrokenDreams 评论(0) 有2317人浏览 2015-10-25 03:22

Jdk1.6 JUC源码解析(13)-LinkedBlockingQueue

Jdk1.6 JUC源码解析(13)-LinkedBlockingQueue 作者:大飞   功能简介: LinkedBlockingQueue是一种基于单向链表实现的有界的(可选的,不指定默认int最大值)阻塞队列。队列中的元素遵循先入先出(FIFO)的规则。新元素插入到队列的尾部,从队列头部取出元素。(在并发程序中,基于链表实现的队列和基于数组实现的队列相比,往往具有更高的吞吐 ...
BrokenDreams 评论(0) 有1820人浏览 2015-10-24 22:28

Jdk1.6 JUC源码解析(12)-ArrayBlockingQueue

Jdk1.6 JUC源码解析(12)-ArrayBlockingQueue 作者:大飞   功能简介: ArrayBlockingQueue是一种基于数组实现的有界的阻塞队列。队列中的元素遵循先入先出(FI ...
BrokenDreams 评论(0) 有2181人浏览 2015-10-23 20:03

Jdk1.6 JUC源码解析(11)-CyclicBarrier

Jdk1.6 JUC源码解析(11)-CyclicBarrier 作者:大飞   功能简介: CyclicBarrier是一种可重复使用的栅栏机制,可以让一组线程在某个点上相互等待,这个点就可以类比为栅栏。并且这个栅栏是可重复使用的,这点可以和前面分析过的CountDownLatch做对比,CountDownLatch只能用一次。 CyclicBarrier还支持在所有线程到达栅 ...
BrokenDreams 评论(0) 有1755人浏览 2015-10-23 19:56

Jdk1.6 JUC源码解析(10)-Semaphore

Jdk1.6 JUC源码解析(10)-Semaphore 作者:大飞   功能简介: Semaphore是一种基于计数的信号量,管理了一组许可。线程可以申请许可,当信号量中有许可时,线程申请成功,拿走一个许可;没有许可时,线程阻塞等待其他线程用完了许可,归还给信号量。这个许可不是真正的许可(比如凭证),只是一个计数,线程也不会真正使用这些许可。 Semaphore一般用来构建一些 ...
BrokenDreams 评论(0) 有1846人浏览 2015-10-22 18:52

Jdk1.6 JUC源码解析(9)-CountDownLatch

Jdk1.6 JUC源码解析(9)-CountDownLatch 作者:大飞   功能简介: CountDownLatch是一种锁,称为闭锁。可以让一个或多个线程等待另外一个或多个线程执行完毕后再执行。 CountDownLatch也是基于AQS构建,使用共享模式。 CountDownLatch中提供一个count值来表示要等待的(其他任务)完成次数,常规用法有两种:Count ...
BrokenDreams 评论(0) 有2078人浏览 2015-10-22 18:47

Jdk1.6 JUC源码解析(8)-locks-ReentrantReadWriteLock

Jdk1.6 JUC源码解析(8)-locks-ReentrantReadWriteLock 作者:大飞   功能简介: ReentrantReadWriteLock提供了读写锁的机制,读锁使用AQS的共享模式,写锁使用独 ...
BrokenDreams 评论(0) 有2997人浏览 2015-10-21 18:41

Jdk1.6 JUC源码解析(7)-locks-ReentrantLock

Jdk1.6 JUC源码解析(7)-locks-ReentrantLock 作者:大飞   功能简介: Java代码层面提供的锁机制,可做为Synchronized(jvm内置)的替代物,和Synchronized一样都是 ...
BrokenDreams 评论(0) 有2232人浏览 2015-10-21 18:25

Jdk1.6 JUC源码解析(6)-locks-AbstractQueuedSynchronizer

Jdk1.6 JUC源码解析(6)-locks-AbstractQueuedSynchronizer 作者:大飞   功能简介: AbstractQueuedSynchronizer(以下简称AQS)是Java并发包提供的一个同步基础机制,是并发包中实现Lock和其他同步机制(如:Semaphore、CountDownLatch和FutureTask等)的基础。 AQS内部包含一 ...
BrokenDreams 评论(6) 有4636人浏览 2015-10-20 20:12

Jdk1.6 JUC源码解析(5)-locks-LockSupport

Jdk1.6 JUC源码解析(5)-locks-LockSupport 作者:大飞   功能简介: LockSupport是用于构建锁和其他同步机制的基础类,提供了基本的线程阻塞行为。 源码 ...
BrokenDreams 评论(0) 有2672人浏览 2015-10-20 20:08

Jdk1.6 JUC源码解析(4)-atomic-AtomicStampedReference、AtomicMarkableReference

Jdk1.6 JUC源码解析(4)-atomic-AtomicStampedReference、AtomicMarkableReference 作者:大飞   功能简介: 为了避免CAS过程中的ABA问题,并发包提供了两个类,AtomicStampedReference和AtomicMarkableReference。前者相当于一个[引用,integer]的二元组,后者相当于一个[引用 ...
BrokenDreams 评论(0) 有4278人浏览 2015-10-19 19:23

Jdk1.6 JUC源码解析(3)-atomic-AtomicXXXFieldUpdater

Jdk1.6 JUC源码解析(3)-atomic-AtomicXXXFieldUpdater 作者:大飞   功能简介: 原子域更新器,一般用于一些原子同步结构中。   源码分析: 首先看下AtomicIntegerFieldUpdater,AtomicIntegerFieldUpdater本身是一个抽象类,提供了一个静态工厂方法来生成实例: pu ...
BrokenDreams 评论(0) 有1764人浏览 2015-10-19 19:15

Jdk1.6 JUC源码解析(2)-atomic-AtomicXXXArray

Jdk1.6 JUC源码解析(2)-atomic-AtomicXXXArray 作者:大飞   功能简介: 数组原子量。   源码分析: 和原子量一样,数组原子量内部有一个Unsafe的静态引用。   private static final Unsafe unsafe = Unsafe.getUnsafe();         ...
BrokenDreams 评论(0) 有1832人浏览 2015-10-19 19:07

Jdk1.6 JUC源码解析(1)-atomic-AtomicXXX

Jdk1.6 JUC源码解析(1)-atomic-AtomicXXX 作者:大飞   功能简介: 原子量和普通变量相比,主要体现在读写的线程安全上。对原子量的是原子的(比如多线程下的共享变量i++就不是原子的),由CAS操作保证原子性。对原子量的读可以读到最新值,由volatile关键字来保证可见性。 原子量多用于数据统计(如接口调用次数)、一些序列生成(多线程环境下)以及一 ...
BrokenDreams 评论(5) 有6123人浏览 2015-10-19 18:40
  • 专栏创建者:BrokenDreams
  • 创建时间:2015-12-09 12:59:38
  • 专栏文章数:35篇
  • 专栏被浏览:100159 次

本专栏热门文章

最新评论

acquire方法里面为什么tryAcquire会被调用多次?第一次tryAcquire失败了就表明 ...
有贝无患 评论了 Jdk1.6 JUC源码解析(6)-locks-AbstractQueu ...
library_call.cpp 里面的内联操作 inline_unsafe_ordered_stor ...
zwy_qz 评论了 Jdk1.6 JUC源码解析(1)-atomic-AtomicXXX
您好,正在学习您的文章,中间有一段,一直没明白:“private void setHead(Node ...
sunwang810812 评论了 Jdk1.6 JUC源码解析(6)-locks-AbstractQueu ...
好文!跟着读了一遍源码,准备自己再做个笔记,画个图
k19421 评论了 Jdk1.6 JUC源码解析(6)-locks-AbstractQueu ...
有个问题不明白,共享模式,释放的时候调用doReleaseShared,for循环里面unparkSu ...
xuyb2 评论了 Jdk1.6 JUC源码解析(6)-locks-AbstractQueu ...
yuenkin 写道棒!!!赞~感谢支持~~!
BrokenDreams 评论了 Jdk1.6 JUC源码解析(6)-locks-AbstractQueu ...
棒!!!赞~
yuenkin 评论了 Jdk1.6 JUC源码解析(6)-locks-AbstractQueu ...
好文章,自己看源码遇到好多不理解的地方。这里都能找到。。。源码分析从例子上出发,才好理解。。。单个类分 ...
在世界的中心呼喚愛 评论了 Jdk1.7 JUC源码增量解析(4)-ForkJoin-ForkJ ...
这么好,怎么没人赞呢!!!
carlosfu 评论了 Jdk1.6 JUC源码解析(26)-ConcurrentSkipLis ...
pcgreat 写道写的很好 。 感谢支持
BrokenDreams 评论了 Jdk1.6 JUC源码解析(27)-Exchanger
Global site tag (gtag.js) - Google Analytics