
JUC学习笔记
对JUC常见类的使用和理解
升仔聊编程
专注Java、后端、算法、AI,做一个有涵养的工程师
展开
-
CyclicBarrier的使用
简介CyclicBarrier翻译过来就是循环门闩的意思,CyclicBarrier类不仅有CountDownLatch所具有的功能,还可以实现屏障等待的功能,也就是阶段性同步,它在使用上的意义在于可以循环地实现线程要一起做任务的目标,而不是像CountDownLatch一样,仅仅支持一次线程与同步点阻塞的特性,API结构如下:CyclicBarrier类和Semaphore及CountD...原创 2020-02-08 16:12:47 · 200 阅读 · 0 评论 -
并发集合框架
简介Java语言中的集合框架父接口是Iterable,通过此接口我们就可以的知道现在Collection接口中主要有哪些功能,如图:可以看到Collection接口中主要包括这三类接口的抽象,具体实现都是基于这些接口。总体介绍Iterable接口Iterable接口的主要作用就是迭代循环,接口声明如下:iterator是一个抽象方法,此方法返回Iterator对象,以进行循环处...原创 2020-02-07 15:31:54 · 275 阅读 · 0 评论 -
CountDownLatch的使用
简介Latch即为门闩的意思,它所表达的意思是:当门没有打开时,所有的人都无法进入,即所有的线程也无所谓继续向下运行,这样可以控制线程执行任务的时机,使线程可以以组团的方式一起执行任务,CountDownLatch类所提供的功能是判断count计数不为0时,当前线程是wait状态,即都处于阻塞等待。同时CountDownLatch类也是一个具有同步功能的辅助类,使用效果是 给定一个计数,当时用这...原创 2020-02-06 16:08:20 · 451 阅读 · 0 评论 -
Exchanger的使用
简介Exchanger类的功能是可以使2两个线程之间传输数据,它比生产者、消费者模式使用的wait/notify要更加方便API介绍exchange()及其重载方法的使用1.1、阻塞性Exchanger类中的exchange()方法具有阻塞的特色,也就是此方法在被调用后等待其他线程来获取数据,如果没有其他线程取得数据,在一直阻塞等待。案例如下:public class Threa...原创 2020-02-06 13:50:10 · 350 阅读 · 0 评论 -
Semaphore的使用
Semaphore类简介 Semaphore类所提供的功能完全是synchorized关键字的升级版,但是它提供的功能更加的强大与方便,==主要作用就是控制线程并发的数量==,但是这一点,是synchorized所做不到的常见API:使用 单词Semaphore的中文含义就是信号、信号系统,此类的主要作用的就是限制线程并发的数量,如果不限制现场并发的数量,则CPU资源很快被耗...原创 2020-02-04 17:00:13 · 470 阅读 · 0 评论