Java并发包之倒计时器与循环栅栏

本节主要内容为Java并发包中的倒计时器(CountDownLatch)、循环栅栏(CyclicBarrier)、线程阻塞工具类(LockSupport)

倒计时器的作用就在于线程分先后顺序,以火箭发射为例,首先需要数10个数,然后火箭才能发射。

如下:


Java并发包之倒计时器与循环栅栏_第1张图片
Java并发包之倒计时器与循环栅栏_第2张图片
CountDownLatch用法

CyclicBarrier:循环栅栏

士兵问题

线程阻塞工具类:LockSupport

是一个非常方便常用的线程阻塞工具类,它可以在线程内任意位置让线程阻塞,和suspent相比,弥补了由于resume在前的不足,与wait相比,不需要先获得对象的锁,也不会抛出中断异常。

LockSupport的静态方法part()可以阻塞当前线程,unpart可以释放当前线程。

例如:


Java并发包之倒计时器与循环栅栏_第3张图片
Java并发包之倒计时器与循环栅栏_第4张图片
LockSupport用法

说明:LockSupport是在不用锁的情况下将线程挂起的一种方式。  很棒

你可能感兴趣的:(Java并发包之倒计时器与循环栅栏)