原文:【JUC】JDK1.8源码分析之ConcurrentLinkedQueue(五)

一 前言 接着前面的分析,接下来分析ConcurrentLinkedQueue,ConcurerntLinkedQueue一个基于链接节点的无界线程安全队列。此队列按照 FIFO 先进先出 原则对元素进行排序。队列的头部是队列中时间最长的元素。队列的尾部 是队列中时间最短的元素。新的元素插入到队列的尾部,队列获取操作从队列头部获得元素。当多个线程共享访问一个公共 collection 时,Conc ...

2016-05-31 16:10 2 1328 推荐指数:

查看详情

JUCJDK1.8源码分析之CountDownLatch(五)

一、前言   分析完了CyclicBarrier后,下面分析CountDownLatch,CountDownLatch用于同步一个或多个任务,强制他们等待由其他任务执行的一组操作完成。CountDownLatch典型的用法是将一个程序分为n个互相独立的可解决任务,并创建值为n ...

Thu Apr 21 04:35:00 CST 2016 2 4507
JUCJDK1.8源码分析之Semaphore(六)

一、前言   分析了CountDownLatch源码后,下面接着分析Semaphore的源码。Semaphore称为计数信号量,它允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可证,只有成功获取许可证,才能使用资源。下面开始分析Semaphore的源码 ...

Thu Apr 21 22:30:00 CST 2016 1 2469
JUCJDK1.8源码分析之ReentrantLock(三)

一、前言   在分析了AbstractQueuedSynchronier源码后,接着分析ReentrantLock源码,其实在AbstractQueuedSynchronizer的分析中,已经提到过ReentrantLock,ReentrantLock表示下面具体分析ReentrantLock ...

Thu Apr 14 06:07:00 CST 2016 7 5320
JUCJDK1.8源码分析之AbstractQueuedSynchronizer(二)

一、前言   在锁框架中,AbstractQueuedSynchronizer抽象类可以毫不夸张的说,占据着核心地位,它提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。所以很有必要好好分析。 二、AbstractQueuedSynchronizer数据结构   分析 ...

Fri Apr 08 18:16:00 CST 2016 13 12304
JUCJDK1.8源码分析之SynchronousQueue(九)

一、前言   本篇是在分析Executors源码时,发现JUC集合框架中的一个重要类没有分析,SynchronousQueue,该类在线程池中的作用是非常明显的,所以很有必要单独拿出来分析一番,这对于之后理解线程池有很有好处,SynchronousQueue是一种阻塞队列,其中每个插入操作 ...

Mon Jun 06 23:29:00 CST 2016 4 2776
JUCJDK1.8源码分析之ConcurrentSkipListMap(二)

一、前言   最近在做项目的同时也在修复之前项目的一些Bug,所以忙得没有时间看源代码,今天都完成得差不多了,所以又开始源码分析之路,也着笔记录下ConcurrentSkipListMap的源码分析过程。 二、ConcurrentSkipListMap数据结构   抓住了数据结构,对于理解 ...

Fri May 27 05:13:00 CST 2016 7 2311
JUCJDK1.8源码分析之ReentrantReadWriteLock

重入锁ReentrantLock是排他锁,排他锁在同一时刻仅有一个线程可以进行访问,但是在大多数场景下,大部分时间都是提供读服务,而写服务占有的时间较少。然而读服务不存在数据竞争问题,如果一个线 ...

Wed Sep 12 23:59:00 CST 2018 0 1155
JUCJDK1.8源码分析之ArrayBlockingQueue(三)

一、前言   在完成Map下的并发集合后,现在来分析ArrayBlockingQueue,ArrayBlockingQueue可以用作一个阻塞型队列,支持多任务并发操作,有了之前看源码的积累,再看ArrayBlockingQueue源码会很容易,下面开始正文 ...

Fri May 27 23:45:00 CST 2016 0 1715
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM