本节主要内容为Java并发包中的倒计时器(CountDownLatch)、循环栅栏(CyclicBarrier)、线程阻塞工具类(LockSupport)
倒计时器的作用就在于线程分先后顺序,以火箭发射为例,首先需要数10个数,然后火箭才能发射。
如下:
CyclicBarrier:循环栅栏
士兵问题
线程阻塞工具类:LockSupport
是一个非常方便常用的线程阻塞工具类,它可以在线程内任意位置让线程阻塞,和suspent相比,弥补了由于resume在前的不足,与wait相比,不需要先获得对象的锁,也不会抛出中断异常。
LockSupport的静态方法part()可以阻塞当前线程,unpart可以释放当前线程。
例如:
说明:LockSupport是在不用锁的情况下将线程挂起的一种方式。 很棒