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

一 前言 最近在做项目的同时也在修复之前项目的一些Bug,所以忙得没有时间看源代码,今天都完成得差不多了,所以又开始源码分析之路,也着笔记录下ConcurrentSkipListMap的源码的分析过程。 二 ConcurrentSkipListMap数据结构 抓住了数据结构,对于理解整个ConcurrentSkipListMap有很重要的作用,其实,通过源码可知其数据结构如下。 说明:可以看到Co ...

2016-05-26 21:13 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
JUCJDK1.8源码分析之LockSupport(一)

一、前言   最开始打算分析ReentrantLock,但是分析到最后,发现离不开LockSuport的支持,所以,索性就先开始分析LockSupport,因为它是锁中的基础,是一个提供锁机制的工具类,所以先对其进行分析。 二、LockSupport源码分析   2.1 类的属性 ...

Sun Apr 03 01:03:00 CST 2016 8 3437
JUCJDK1.8源码分析之CyclicBarrier(四)

一、前言   有了前面分析的基础,现在,接着分析CyclicBarrier源码,CyclicBarrier类在进行多线程编程时使用很多,比如,你希望创建一组任务,它们并行执行工作,然后在进行下一个步骤之前等待,直至所有的任务都完成,和join很类似,下面,开始分析源码 ...

Tue Apr 19 03:13:00 CST 2016 3 3368
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
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM