博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
J.U.C包文档分析目录
阅读量:4149 次
发布时间:2019-05-25

本文共 724 字,大约阅读时间需要 2 分钟。

1、

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

2、AbstractQueuedSynchronous()

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

3、

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

4、

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

5、

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

6、

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

7、

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

8、

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

9、

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

转载地址:http://slvti.baihongyu.com/

你可能感兴趣的文章
一道技术问题引起的遐想,最后得出结论技术的本质是多么的朴实!
查看>>
985硕士:非科班自学编程感觉还不如培训班出来的,硕士白读了?
查看>>
你准备写代码到多少岁?程序员们是这么回答的!
查看>>
码农:和产品对一天需求,产品经理的需求是对完了,可我代码呢?
查看>>
程序员过年回家该怎么给亲戚朋友解释自己的职业?
查看>>
技术架构师的日常工作是什么?网友:搭框架,写公共方法?
查看>>
第四章 微信飞机大战
查看>>
九度:题目1008:最短路径问题
查看>>
九度Online Judge
查看>>
九度:题目1027:欧拉回路
查看>>
九度:题目1012:畅通工程
查看>>
九度:题目1017:还是畅通工程
查看>>
九度:题目1034:寻找大富翁
查看>>
第六章 背包问题——01背包
查看>>
51nod 分类
查看>>
1136 . 欧拉函数
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>