循环锁屏障 CyclicBarrier

该博客通过一个五人开黑的游戏场景,介绍了Java中CyclicBarrier的用法,展示了如何利用CyclicBarrier确保所有线程同步开始执行,即所有玩家都到位后游戏才能开始。示例代码创建了5个线程模拟玩家进入游戏,并在所有线程到达屏障点时启动游戏。

作者: 西魏陶渊明 博客: https://blog.springlearn.cn/ (opens new window)

西魏陶渊明

莫笑少年江湖梦,谁不少年梦江湖

举个例子,五个人开黑,少一个人就开不了。

public static void main(String[] args) throws Throwable {
        CyclicBarrier cb = new CyclicBarrier(5, new Runnable() {
            @Override
            public void run() {
                System.out.println("人都到齐了,游戏开始进入峡谷");
            }
        });
        Runnable player = new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "已经进来了");
                try {
                    cb.await();
                } catch (Throwable e) {
                    e.printStackTrace();
                }
            }
        };
        new Thread(player, "上路程咬金").start();
        new Thread(player, "中路安琪拉").start();
        new Thread(player, "下路小鲁班").start();
        new Thread(player, "辅助李元芳").start();
        new Thread(player, "打野孙悟空").start();
    }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西魏陶渊明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值