import java.util.concurrent.CountDownLatch; /** *并发工具类CountDownLatch */ public class UseCountDownLatch { static CountDownLatch latch = new CountDownLatch(3); //初始化线程 private static class InitThread implements Runnable{ @Override public void run() { System.out.println("Thread_"+Thread.currentThread().getId() +" ready init work......"); latch.countDown();//初始化线程完成工作了,countDown方法只扣减一次; for(int i =0;i<2;i++) { System.out.println("Thread_"+Thread.currentThread().getId() +" ........continue do its work"); } } } //业务线程 private static class BusiThread implements Runnable{ @Override public void run() { try { latch.await(); } catch (InterruptedException e) { e.printStackTrace(); } for(int i =0;i<3;i++) { System.out.println("BusiThread_"+Thread.currentThread().getId() +" do business-----"); } } } public static void main(String[] args) throws InterruptedException { new Thread(new BusiThread()).start(); for(int i=0;i<3;i++){ Thread thread = new Thread(new InitThread()); thread.start(); } latch.await(); System.out.println("Main do its work........"); } }
并发工具类CountDownLatch
最新推荐文章于 2023-07-17 08:09:09 发布