CyclicBarrier 循环屏障
博客专区 > 藏艺 的博客 > 博客详情
CyclicBarrier 循环屏障
藏艺 发表于2年前
CyclicBarrier 循环屏障
  • 发表于 2年前
  • 阅读 5
  • 收藏 0
  • 点赞 2
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;

/**
 * Created by zyBourn on 15/12/25.
 */
public class Entity {
    /**
     * 循环屏障
     * 适用于只有多个线程都到达预订点时才可以继续执行
     * cyclicBarrier(int num):等待线程的数量
     * cyclicBarrier(int num,Runnable action):等待线程的数量以及所有线程到达后的操作
     * await():到达临界点后暂停线程
     */
    public static void main(String[] args) {
        CyclicBarrier cyclicBarrier=new CyclicBarrier(3, new Runnable() {
            @Override
            public void run() {
                System.out.println("Game start");
            }
        });

        new Player(cyclicBarrier,"A").start();
        new Player(cyclicBarrier,"B").start();
        new Player(cyclicBarrier,"C").start();
    }
}

class Player extends Thread{
    private CyclicBarrier cyclicBarrier;
    public Player(CyclicBarrier cyclicBarrier,String name){
        setName(name);
        this.cyclicBarrier=cyclicBarrier;
    }
    public void run(){
        System.out.println(getName()+":dengdai");
        try {
            cyclicBarrier.await();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (BrokenBarrierException e) {
            e.printStackTrace();
        }
    }
}


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
藏艺
粉丝 1
博文 11
码字总数 1585
×
藏艺
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: