欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-21 13:06:52
...

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();
 }