障碍器CyclicBarrier
作用:它的作用就是会让所有线程都等待完成后才会继续下一步行动。
Java5中添加了障碍器类,为了适应一种新的设计需求,比如一个大型的任务,常常需要分配好多子任务去执行,只有当所有子任务都执行完成时候,才能执行主任务,这时候,就可以选择障碍器了。障碍器是多线程并发控制的一种手段。
- CyclicBarrier(int parties)参与线程的个数
- CyclicBarrier(int parties, Runnable barrierAction) Runnable参数是最后一个到达线程要做的任务
- int await() 线程调用await()表示自己已经到达栅栏
- int await(long timeout, TimeUnit unit)
**主要工作原理,**通过构造函数创建一个指定屏障数的屏障类,在各线程中调用await(),调用后当前线程将被阻塞,直到调用的次数到指定屏障数后,所有阻塞的线程将恢复继续执行。