多线程循环打印输出问题(一)

java已经有4种线程同步工具,CyclicBarrier适合当一些线程达到某种状态的时候然后一起运行,理论很简单,直接上代码了

public static void main(String[] args) {
  CyclicBarrier barrier = new CyclicBarrier(1, new Runnable() {//线程同步器,保证给定次数调用await的时候让新线程运行
   @Override
   public void run() {
    System.out.println("b");
   }
  });
  new Thread(new Runnable(){

   @Override
   public void run() {
    for(int i=0;i<5;i++){//打印5次a
     System.out.println("a");
     try {
      barrier.await();//另一个线程执行
     } catch (Exception e) {
      e.printStackTrace();
     }     
    }   
   }}).start();
 }

你可能感兴趣的:(Cyclicbarrier)