J.U.C包文档分析目录

1、LockSupport工具使用和源码分析

    LockSupport是提供的一个工具类,主要是用来挂起和唤醒线程,类似于Thread类当中的suspend和resume方法,但是不同的是,LockSupport对线程的挂起和唤醒并不会早上死锁。LockSupport提供的挂起和唤醒也是JUC包对线程操作的一个基础

2、AbstractQueuedSynchronous(ReentrantLock实现及AQS简析)

    AQS基本上整个并发包实现的基础,尝试获取锁,获取成功执行任务,获取失败,将任务放在一个链表当中,每个任务执行结束之后,唤醒链表当中下一个需要执行的任务

3、ReentrantLock使用对比Synchronized

    基于AQS实现的一个锁,在并发包当中我们也可以看到大量的使用ReentrantLock来保证线程安全性

4、ReentrantReadWriteLock使用及源码分析

    基于AQS实现的读写分离锁,适合于写多读少的场景

5、StampedLock使用方式

    是JDK1.8之后提供的一个锁,相比较与ReentrantReadWriteLock更加适合于读多写少的场景

6、CyclicBarrier使用及源码分析

    CyclicBarrier主要是用来处理多个线程任务执行,共同到达一个临界点之后,所有线程在继续执行下去,实现方式是通过使用ReentrantLock来加锁,condition用来挂起和唤醒相关的线程,可以重复使用

7、CountDownLatch使用及源码分析

    基本上和CyclicBarrier功能相同,线程执行到某个临界点时,等到其相关线程都执行成功,然后再接着往下执行,他的实现方式是直接调用AQS来实现

8、java并发包中Semaphore使用及源码分析

    线程计数器,控制同一时间执行线程的数量,基于AQS实现

9、ArrayBlockingQueue源码分析

    基于数组实现的,通过ReentrantLock来保证线程安全,同时内部保存两个condition,分别来表示是否写满,是否为为空,如果写满的话,直到取出一个元素,才能将新的元素添加进去,如果为空的话,写入一个元素,才能取出一个元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值