当前位置: 首页 > news >正文

【juc】countdownlatch实现游戏进度

目录

        • 一、截图示例
        • 二、代码示例

一、截图示例

在这里插入图片描述

二、代码示例
package com.learning.countdownlatch;import java.util.Arrays;
import java.util.Random;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;/*** @Author wangyouhui* @Description 游戏进度**/
public class Learning_02 {public static void main(String[] args) {System.out.println("游戏进度");CountDownLatch countDownLatch = new CountDownLatch(10);ExecutorService executorService = Executors.newFixedThreadPool(10);Random random = new Random();String[] array = new String[10];for (int i = 0; i < 10; i++) {int a = i;executorService.submit(()->{for (int j = 0; j <= 100; j++) {try {Thread.sleep(random.nextInt(100));} catch (InterruptedException e) {e.printStackTrace();}array[a] = j + "%";System.out.print("\r" + Arrays.toString(array));}countDownLatch.countDown();});}// 主线程等待try{countDownLatch.await();System.out.println("\n游戏开始");}catch (InterruptedException e){e.printStackTrace();}executorService.shutdown();}
}

相关文章:

【juc】countdownlatch实现游戏进度

目录 一、截图示例二、代码示例 一、截图示例 二、代码示例 package com.learning.countdownlatch;import java.util.Arrays; import java.util.Random; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurr…...

Spring Webflux HttpHandler源码整理

HttpHandler的构造 自动启动配置类&#xff1a;HttpHandlerAutoConfigurationBean public HttpHandler httpHandler(ObjectProvider<WebFluxProperties> propsProvider) {HttpHandler httpHandler WebHttpHandlerBuilder.applicationContext(this.applicationContext).…...

Qt扩展-Advanced-Docking 简介及配置

Advanced-Docking 简介及配置 一、概述二、项目结构三、安装配置四、代码测试 一、概述 Advanced-Docking 是类似QDockWidget 功能的多窗口停靠功能的库。很像visual stdio 的 停靠功能&#xff0c;这个库对于停靠使用的比较完善。很多的软件都使用了这个框架。 项目源地址&a…...

Decorator

Decorator 动机 在某些情况下我们可能会“过度地使用继承来扩展对象的功能”&#xff0c; 由于继承为类型引入的静态特质&#xff0c;使得这种扩展方式缺乏灵活性&#xff1b; 并且随着子类的增多&#xff08;扩展功能的增多&#xff09;&#xff0c;各种子类的组合&#xff…...

分布式文件系统HDFS(林子雨慕课课程)

文章目录 3. 分布式文件系统HDFS3.1 分布式文件系统HDFS简介3.2 HDFS相关概念3.3 HDFS的体系结构3.4 HDFS的存储原理3.5 HDFS数据读写3.5.1 HDFS的读数据过程3.5.2 HDFS的写数据过程 3.6 HDFS编程实战 3. 分布式文件系统HDFS 3.1 分布式文件系统HDFS简介 HDFS就是解决海量数据…...

CSS中:root伪类的使用

在CSS中&#xff0c;:root是一个伪类选择器&#xff0c;它选择的是文档树的根元素。在HTML文档中&#xff0c;这个根元素通常是<html>。:root伪类选择器常常被用于定义全局的CSS变量或者设置全局的CSS样式。 例如&#xff0c;你可以使用:root来定义一个全局的字体大小&a…...

VulnHub JANGOW

提示&#xff08;主机ip分配问题&#xff09; 因为直接在VulnHub上下载的盒子&#xff0c;在VMware上打开&#xff0c;默认是不分配主机的 所以我们可以在VirtualBox上打开 一、信息收集 发现开放了21和80端口&#xff0c;查看一下80端口 80端口&#xff1a; 检查页面后发现…...

OpenMesh 获取网格面片各个顶点

文章目录 一、简介二、实现代码三、实现效果一、简介 OpenMesh中有很多循环器,这里便是其中一种面顶点循环器,以此来获得面片的各个顶点。 二、实现代码 #define _USE_MATH_DEFINES #include <iostream> #include <unordered_map>...

【前端设计模式】之原型模式

原型模式特性 原型模式&#xff08;Prototype Pattern&#xff09;是一种创建型设计模式&#xff0c;它通过克隆现有对象来创建新对象&#xff0c;而不是通过实例化类。原型模式的主要特性包括&#xff1a; 原型对象&#xff1a;原型对象是一个已经存在的对象&#xff0c;它作…...

软件设计原则

设计原则 一、单一原则 1. 如何理解单一职责原则 单一职责原则&#xff08;Single Responsibility Principle&#xff0c;简称SRP&#xff09;&#xff0c;它要求一个类或模块应该只负责一个特定的功能。实现代码的高内聚和低耦合&#xff0c;提高代码的可读性和可维护性。 …...

【面试HOT100】哈希双指针滑动窗口

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于LeetCodeHot100进行的&#xff0c;每个知识点的修正和深入主要参考…...

Ubuntu20.04 配置 yolov5_ros 功能包记录

文章目录 本文参考自博主源801,结合自己踩坑后修改 项目地址:https://github.com/mats-robotics/yolov5_ros 1.新建工作空间 新建一个工作空间 yolo_ros(名字可自定义),在 yolo_ros 下新建文件夹 src 并catkin_make进行编译 2. 安装相机驱动,可以选用较为主流的 usb_cam 或…...

Flink的处理函数——processFunction

目录 一、处理函数概述 二、Process函数分类——8个 &#xff08;1&#xff09;ProcessFunction &#xff08;2&#xff09;KeyedProcessFunction &#xff08;3&#xff09;ProcessWindowFunction &#xff08;4&#xff09;ProcessAllWindowFunction &#xff…...

Linux系统中的ps命令详解及用法介绍

文章目录 一、介绍ps命令A. ps命令的作用B. ps命令的参数 二、常见的ps命令用法A. 显示所有进程信息B. 显示指定进程信息C. 显示指定用户的进程信息D. 按CPU使用率排序显示进程信息E. 按内存使用率排序显示进程信息 三、进一步了解ps命令A. 显示进程树信息B. 显示线程和进程关系…...

机器学习笔记 - 基于pytorch、grad-cam的计算机视觉的高级可解释人工智能

一、pytorch-gradcam简介 ​Grad-CAM是常见的神经网络可视化的工具,用于探索模型的可解释性,广泛出现在各大顶会论文中,以详细具体地描述模型的效果。Grad-CAM的好处是,可以在不额外训练的情况下,只使用训练好的权重即可获得热力图。 1、CAM是什么? CAM全称Class Activa…...

Python 编程基础 | 第五章-类与对象 | 5.1、定义类

一、类 1、定义类 Python中使用class关键字定义类&#xff0c;class之后为类的名称并以:结尾&#xff0c;类的结构如下&#xff1a; class 类名&#xff1a;多个&#xff08;≥0&#xff09;类属性...多个&#xff08;≥0&#xff09;类方法...下面定义一个Dog类&#xff0c;如…...

合宙Air780e+luatos+腾讯云物联网平台完成设备通信与控制(属性上报+4G远程点灯)

1.腾讯云物联网平台 首先需要在腾讯云物联网平台创建产品、创建设备、定义设备属性和行为&#xff0c;例如&#xff1a; &#xff08;1&#xff09;创建产品 &#xff08;2&#xff09;定义设备属性和行为 &#xff08;3&#xff09;创建设备 &#xff08;4&#xff09;准备参…...

c++系列之string的模拟实现

&#x1f497; &#x1f497; 博客:小怡同学 &#x1f497; &#x1f497; 个人简介:编程小萌新 &#x1f497; &#x1f497; 如果博客对大家有用的话&#xff0c;请点赞关注再收藏 &#x1f31e; string() //注意事项&#xff1a; 1.初始化列表随声明的顺序进行初始化 2.cons…...

Spring的beanName生成器AnnotationBeanNameGenerator

博主介绍&#xff1a;✌全网粉丝4W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…...

FFmpeg 命令:从入门到精通 | ffmpeg 命令直播

FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg 命令直播 FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg 命令直播直播拉流直播推流 FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg 命令直播 本节主要介绍了ffmpeg 命令进行直播拉流、推流的方法&#xff0c;并列举了一些例子…...

AI智能体开发(一):从概念到架构设计

定义与核心特征 AI智能体(AI Agent)是一种能够自主感知环境、做出决策并执行行动的AI系统。 与传统AI模型不同,Agent不仅仅是被动地"回答问题",而是能够主动地"完成任务"。它像一个智能助手,能够理解你的目标,规划执行步骤,调用各种工具,最终交付…...

STL转STEP格式转换终极指南:5分钟掌握专业3D模型转换技巧

STL转STEP格式转换终极指南&#xff1a;5分钟掌握专业3D模型转换技巧 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 你是否曾经遇到过这样的困扰&#xff1f;精心设计的3D打印模型在STL格式下…...

Aspia代码架构解析:从基础库到完整应用的开发思路

Aspia代码架构解析&#xff1a;从基础库到完整应用的开发思路 【免费下载链接】aspia Remote desktop and file transfer tool. 项目地址: https://gitcode.com/gh_mirrors/as/aspia Aspia是一款功能强大的开源远程桌面和文件传输工具&#xff0c;支持Windows、Linux和m…...

技术从业者的简历优化:如何写出让HR眼前一亮的简历

一、精准匹配&#xff1a;用关键词敲开面试大门在HR筛选简历的“黄金30秒”里&#xff0c;关键词匹配度是第一门槛。对于软件测试从业者来说&#xff0c;精准对接岗位JD&#xff08;职位描述&#xff09;中的核心关键词&#xff0c;是让简历脱颖而出的第一步。首先&#xff0c;…...

终极AMD Ryzen调试指南:5个场景掌握SMUDebugTool硬件调优

终极AMD Ryzen调试指南&#xff1a;5个场景掌握SMUDebugTool硬件调优 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/…...

销售易NeoAgent 2.0深度解析:从“业务语义本体“到“智能体矩阵“的技术架构

一、行业背景&#xff1a;CRM的AI进化分水岭2026年&#xff0c;企业面临获客成本飙升、销售周期拉长、客户需求日益挑剔的多重挑战。传统CRM依赖人工录入且缺乏智能分析能力&#xff0c;往往沦为滞后的记录工具。市场正在寻找能够主动思考、预判和执行的下一代CRM架构。销售易基…...

DeepSeek v3.2.1核心模块异常日志分析(生产环境未公开的5个堆栈陷阱)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek v3.2.1核心模块异常日志分析&#xff08;生产环境未公开的5个堆栈陷阱&#xff09; 在高并发场景下&#xff0c;DeepSeek v3.2.1 的 model-router 与 kv-cache-sync 模块频繁触发非预期 panic&#x…...

电动汽车高压系统狭窄空间高精度电流电压测量方案解析

1. 项目概述&#xff1a;当高压测量遇上“螺蛳壳里做道场”在电动汽车的研发测试领域&#xff0c;尤其是实车道路测试阶段&#xff0c;有一个场景让很多工程师头疼不已&#xff1a;如何在发动机舱、底盘或电池包附近那些错综复杂、空间逼仄的线束通道里&#xff0c;精准地测量高…...

从线条到有宽度的箭头:CAD多段线宽度(W)设置实战,轻松搞定示意图与流程图

从线条到有宽度的箭头&#xff1a;CAD多段线宽度&#xff08;W&#xff09;设置实战&#xff0c;轻松搞定示意图与流程图 在技术文档、工艺流程图或平面布置图的绘制中&#xff0c;单调的细线往往难以清晰表达设计意图。当我们需要突出管道流向、标注关键区域或绘制专业箭头时&…...

Angular-dragdrop与Bootstrap集成:构建响应式拖放界面的完美方案

Angular-dragdrop与Bootstrap集成&#xff1a;构建响应式拖放界面的完美方案 【免费下载链接】angular-dragdrop Implementing jQueryUI Drag and Drop functionality in AngularJS (with Animation) is easier than ever 项目地址: https://gitcode.com/gh_mirrors/an/angul…...