CyclicBarrier
new CyclicBarrier(3);---当三个线程都到达等待点的时候,这 3 个线程才继续往下执行:
package com.yhm.testSpringMvc.Thread; import java.util.Random; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class CyclicBarrierTest { public static void main(String[] args) { ExecutorService executorService = Executors.newCachedThreadPool(); CyclicBarrier cyclicBarrier = new CyclicBarrier(3); for (int i = 0; i < 99; i++) { executorService.submit(new Runnable() { @Override public void run() { try { cyclicBarrier.await(); } catch (InterruptedException e) { e.printStackTrace(); } catch (BrokenBarrierException e) { e.printStackTrace(); } try { Thread.sleep(new Random().nextInt(9999)); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + "_开始走起1"); } }); } executorService.shutdown(); } }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于