Java多线程练习(一):模拟游戏组队

2023-05-16

编写命令行程序模拟游戏组队:
①每隔1秒有一个玩家进入,并随机加入A或B队。
②当A、B队人数均达到4人时,倒计时5秒,然后开始游戏。

实现代码:

/**
 * @author xucc
 * @date 2020/6/8 20:45
 */
public class Join {
    public static void main(String[] args) {
        String[] s = {"王一","小二","张三", "李四", "王五", "赵六", "小七", "老八"};
        Player p = new Player(s);
        Thread A = new Thread(p);
        Thread B = new Thread(p);
        A.setName("A");
        B.setName("B");
        A.start();
        B.start();
        while(A.isAlive() || B.isAlive()){
		//没有while循环99%的几率会先执行print,因为一共有三个线程在执行
        }
        System.out.println("各个队伍人员已满,5s后开始游戏!");
    }
}
class Player implements Runnable {
    private String[] player;
    static int index = 0;
    public Player(String[] player){
        this.player = player;
    }
    @Override
    public void run() {
        int cnt = 0;
        while (cnt < 4) {
            synchronized (Player.class) {
                try {
                    Thread.sleep(100);
                    cnt++;
                    System.out.println(player[index++] + "加入" + Thread.currentThread().getName() + "组");
                    if (cnt == 4)
                        System.out.println(Thread.currentThread().getName() + "组准备就绪");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

输出结果:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java多线程练习(一):模拟游戏组队 的相关文章

随机推荐

  • 实例:用C#.NET手把手教你做微信公众号开发(21)--使用微信支付线上收款:H5方式

    在做线上 线下销售时 xff0c 可以使用微信便捷支付 xff0c 通过微信公众号收款有很多种收款方式 xff0c 如下图 xff1a 今天我们来讲一下H5场景支付 xff0c 使用手机浏览器打开就是H5方式 xff0c 最常见的推广是短信
  • pb模型内部结构可视化

    import tensorflow as tf from tensorflow python platform import gfile model 61 39 ssd mobilenet v1 coco 2017 11 17 pb 39
  • 解决SecureCRT 文本注释#颜色蓝色阅读困难的问题

    1 在根目录新建文件夹并进入 xff0c 执行 vim vimrc 2 添加代码 hi Comment ctermfg 61 cyan
  • wampserver中文版 附安装教程

    wampserver中文版是一款非常专业的PHP集成软件 xff0c 拥有简单的图形和菜单安装和配置环境 xff0c 通过它 xff0c 再也不用亲自去修改配置文件了 xff0c PHP扩展 Apache模块 xff0c 开启 关闭鼠标点点
  • Ubuntu20.04安装CUDA&&cudnn(初学者详细图文教程)

    文章目录 准备工作CUDA安装cudnn安装 准备工作 注 xff1a 本机系统为 Ubuntu20 04 1 安装显卡驱动 打开 软件和更新 xff0c 点击附加驱动安装显卡驱动 2 gcc安装 若系统为Ubuntu22 04 xff0c
  • Windows+Ubuntu双系统,对Ubuntu系统扩容

    文章目录 序言Windows系统中分出空白磁盘Ubuntu获取刚创建的空间 序言 由于初学时没注意到空间问题 xff0c 现在跑数据集100余G xff0c 不想破坏已经配置好的环境 xff0c 不得不扩容 xff01 下面详细记录Wind
  • Java将字符串分别入栈入队列,然后分别出栈出队列

    1 Java将字符串分别入栈入队列 xff0c 然后分别出栈出队列 public class Stack public void stack String s Deque a 61 new LinkedList Queue b 61 new
  • Python字符串

    文章目录 一 字符串拼接1 使用 43 号连接字符串2 使用 号连接字符串3 使用 连接字符串4 使用join函数连接字符串 二 字符串常用方法1 大小写转换2 找位置 str find 检测字符串中是否包含子字符串str xff0c 返回
  • STM32——LED闪烁实验—灯常亮不闪

    前言 xff1a 入门点灯实验 xff0c 代码无误 xff0c 灯却常亮不能闪烁 代码如下 xff1a 延时函数 void delay int d while d int main unsigned int pReg 使能GPIOB pR
  • Python文件I/O

    python文件I O 读取键盘输入 python提供input 内置函数从标准输入读取一行文本 xff0c 默认的标准输入是键盘 str 1 61 input 34 请输入 xff1a 34 print str 1 请输入 xff1a l
  • 高效回顾深度学习DL、CV、NLP

    目录 深度学习DL计算机视觉CV自然语言处理NLP 深度学习DL 深度学习 xff08 deep learning xff09 是机器学习的一个分支 xff0c 是伴随着大数据与云计算技术的崛起而快速发展起来的 xff0c 并在计算机视觉
  • 开放麒麟来了!我国首个桌面操作系统开发者平台正式发布

    近日 xff0c 中国首个桌面操作系统根社区openKylin xff08 开放麒麟 xff09 发布会在线上成功举行 开放麒麟 是中国首个桌面操作系统开发者平台 xff0c 由国家工业信息安全发展研究中心 中国电子 普华基础软件等单位联合
  • 第五节.常用Linux命令—远程管理

    第五节 常用Linux命令 远程管理 1 关机 重启 xff1a shutdown 1 命令格式 命令作用shutdown 选项 时间关机 重新启动 2 常用命令 命令含义shutdown r now重新启动操作系统 xff0c 其中now
  • CSP-M3 B

    思路 xff1a 定义两个矩阵 xff0c 一个矩阵记录输入的数据 xff0c 另一个矩阵起标记作用 xff0c 当以行的方式遍历矩阵 xff0c 如果大于等于3个数字相同 xff0c 则标记为0 同理 xff0c 以竖的方式进行遍历 最后
  • week13 作业C

    题意 xff1a 在大家不辞辛劳的帮助下 xff0c TT 顺利地完成了所有的神秘任务 神秘人很高兴 xff0c 决定给 TT 一个奖励 xff0c 即白日做梦之捡猫咪游戏 捡猫咪游戏是这样的 xff0c 猫咪从天上往下掉 xff0c 且只
  • 在浏览器访问IP地址然后回车URL后面自动加#号

    在浏览器访问IP地址然后回车URL后面自动加 号 在给客户搭建环境中 xff0c 遇见了这个问题 情况 xff1a 首先是客户内网中有一台Windows7笔记本用ie浏览器访问http IP 端口 xff0c 结果是回车后URL后面自动加上
  • 选择排序(思路+算法)

    选择排序 选择排序是一个十分基础 xff0c 简单的排序 思路 xff1a 1 找到数组中最小的元素 xff0c 拎出来 xff0c 将它和数组的第一个元素交换位置 xff1b 2 在剩下的元素中继续寻找最小的元素 xff0c 拎出来 xf
  • 树莓派4b安装vscode

    树莓派4b安装vscode 不是code oss vs code开始支持32位的arm了 之前树莓派都是用code oss 硬件为树莓派4b xff0c 32位 xff0c 4G内存 从vscode官网 https code visuals
  • TomCat9.0.37容器无法访问问题解决方法

    Docker 启动tomcat容器后访问404 启动后 出现访问404 原因是 xff0c webapp文件夹下是空的 首先进入容器中的tomcat docker exec it id bin bash id 为容器id ls 查看 有两个
  • Java多线程练习(一):模拟游戏组队

    编写命令行程序模拟游戏组队 xff1a 每隔1秒有一个玩家进入 xff0c 并随机加入A或B队 当A B队人数均达到4人时 xff0c 倒计时5秒 xff0c 然后开始游戏 实现代码 xff1a span class token comme