2021版Java同步器教程03:如何使用同步器 CyclicBarrier?
2021版Java同步器教程03:如何使用同步器 CyclicBarrier?
03:如何使用同步器 CyclicBarrier?
视频全集
2021版Java同步器教程
2021版Java线程池教程
2021版Java多线程教程
代码
- Github地址【全部代码】
Task.class
package main;import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;public class Task implements Runnable {/*** 循环屏障*/private final CyclicBarrier cyclicBarrier;public Task(CyclicBarrier cyclicBarrier) {this.cyclicBarrier = cyclicBarrier;}@Overridepublic void run() {try {// 模拟匹配时长Thread.sleep((long) (Math.random() * 3000));System.out.println(Thread.currentThread().getName() + "匹配成功!");// 所有线程在此集合,一起往下执行cyclicBarrier.await();// 模拟准备时长Thread.sleep((long) (Math.random() * 3000));System.out.println(Thread.currentThread().getName() + "准备好了~");// 所有线程在此集合,一起往下执行cyclicBarrier.await();// 模拟加载时长Thread.sleep((long) (Math.random() * 3000));System.out.println(Thread.currentThread().getName() + "加载完成。");// 所有线程在此集合,一起往下执行cyclicBarrier.await();} catch (InterruptedException | BrokenBarrierException e) {e.printStackTrace();}}
}
Main.class
package main;import java.util.concurrent.CyclicBarrier;/*** @author 【B站】人人都是程序员* @author 【掘金】人人都是程序员* @author 【CSDN】人人都是程序员* @author 【今日头条】人人都是程序员* @author 【官方网站】www.gorhaf.com* @author 【微信公众号】gorhaf* 欢迎大家扫描下方二维码关注我们* █▀▀▀▀▀▀▀██▀██████▀▀▀▀██▀▀▀▀▀▀▀█* █ █▀▀▀█ █▄ ▀ ▄▄█▄█▄█▀██ █▀▀▀█ █* █ █ █ █▄▄▀▄▀█▄▄ ██▀ █ █ █ █* █ ▀▀▀▀▀ █ █ █▀▄▀▄ █ █ █ ▀▀▀▀▀ █* █▀▀▀▀▀█▀▀▀▀▀█ █▀▄▀▀█ ▄▀█▀█▀█▀██* █▄▄▄ ██▀█ █▀▀ ▀ ▄ ▄▀▄ ███▄█* ██ ▀▀█▀ ▄ ▄ █▀▄▄▄▀▄▀▄ ▄██▀▀▄██* █ █▄▄ ▀ █ ▄█▄▄▄▀▄▀█▄ ▄ ▄ █ █▄█* █ ▄██▄▀██▄ █ ▀▄▀ ▀▀ ▄▄▄▀██▀▄██* █ █▀▀█▀▀█▀ █▀▀█▄▀▀█▀▄ ▀▄ █▄█* █ █▀▀██▀▀█▀ █▀▀ ██▄▀▀▀▀▀█▀ ▀█* █▀▀▀▀▀▀▀█ ▄██▄▄▀▀▀▄▄▀ █▀█ ▄▄█* █ █▀▀▀█ █▀ ▄█ █▀ ▄▀▄▄ ▀▀▀ ▀▀ █* █ █ █ █ ▄▀▀▀█▄ ▄▀▄▀ █▀▀▀ ▀ ▄█* █ ▀▀▀▀▀ █ ▀█ ▀█▄ █▄█▄▄█ ▄▀▄██* ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀*/
public class Main {public static void main(String[] args) {// 创建CyclicBarrier对象CyclicBarrier cyclicBarrier = new CyclicBarrier(5, new Runnable() {@Overridepublic void run() {System.out.println(Thread.currentThread().getName());}});// 创建多个线程并发执行for (int i = 1; i <= 5; i++) {// 创建任务Task task = new Task(cyclicBarrier);// 创建线程Thread thread = new Thread(task, "玩家" + i + "号");// 启动线程thread.start();}}
}
2021版Java同步器教程03:如何使用同步器 CyclicBarrier?相关推荐
- 【2021版PHP高级教程-Swoole4.X从入门到精通全套高级实战】
众所周知,Swoole 和我们传统的 PHP 开发差别是有的,需要理解的概念也是有的.使用目前一些基于 Swoole 的框架开发的话,从开发习惯上和传统的TP 框架相差不多.根据官方介绍它是一个底层通 ...
- 2021版Java知识体系详解!(赠视频)
本篇文章是我们整理的一份架构师的成长路线,包括了并发编程.设计模式.常用框架.中间件.微服务与分布式.常用工具.JVM.MySQL.数据结构与算法,还有架构师精选视频.架构师成长路线高清大图. 又是新 ...
- Java知识体系最强总结(2021版)
学习Java请关注B站 [黑马程序员] 文章目录 前言 第一阶段: Java基础 第二阶段: JavaWeb 第三阶段:Java开发框架 第四阶段:中间件&服务框架 第五阶段:企业级项目实战 ...
- Python视频制作引擎Manim安装教程2021版(科学概念可视化)
Python视频制作引擎Manim安装教程2021版 0 写在前面 1 效果展示 2 安装教程(Windows) 2.1 安装ffmpeg 2.2 安装Latex 2.3 安装dvisvgm 2.4 ...
- Java官方教程目录2021最新版
前言 本文是橙子出于兴趣爱好对Java官方教程的尝试翻译,几乎每日更新,感兴趣的朋友可以关注一下橙子:翻译过程中尽可能多的对一些关键词保留了英文原文,如果你想看最纯正的英文原版教材却又看不懂,可以试着 ...
- Java官方教程(七-3)Using Objects 使用对象(2021.4.10)
前言 本文是橙子出于兴趣爱好对Java官方教程的尝试翻译,几乎每日更新,感兴趣的朋友可以关注一下橙子:翻译过程中尽可能多的对一些关键词保留了英文原文,如果你想看最纯正的英文原版教材却又看不懂,可以试着 ...
- 最新JAVA安装教程(Mac版)
文章目录 一.下载JDK安装包 二.安装 注:只适用于非M1内核的苹果电脑 三.检查安装 四.友情链接 1.[最新JAVA安装教程(Win10版)](https://blog.csdn.net/wei ...
- 我的世界Minecraft基岩版开服教程(Linux)开服器开服包下载开服网站服务器开服核心开服端开服软件mac版Java启动器
我的世界Minecraft基岩版开服教程(Linux)开服器开服包下载开服网站服务器开服核心开服端 前言:大家好我是艾西,接上一篇我的世界Minecraft Java开服教程(Windows) 这期跟 ...
- Visual Studio Code 安装教程2021版
Visual Studio Code 安装教程2021版 下载Visual Studio Code 1:官网下载 2:网盘下载 开始安装 1:双击下载后的可执行文件,安装 2:勾选同意,然后点击下一步 ...
- 集合百家之面试!阿里巴巴Java突击手册(2021版)已完结
今年的金三银四,对很多想改变现状的人来说非常关键.Java程序员也是如此. 无论你是镀金也好,还是追求高薪,进入阿里一直是大多Java程序员的一个目标.网上关于阿里的面试分享也层出不穷,让人目不暇接. ...
最新文章
- Ansible的安装及部署
- 在桌面应用程序与Web应用程序之间该如何选择
- jquery模糊查询
- 【转载】ARX给CAD发送命令的几种方法
- bat 批处理获取时间语法格式
- oracle 拼接_老品牌三明49寸液晶拼接屏多少钱支持定制
- InfoQ宣布成立CNUT容器技术俱乐部 欲连接中国容器社区
- tomcat启动报错:Bean name 'XXX' is already used in this beans element
- 自己写一个H5项目CI系统
- 图论--有向图强连通分量的标记及缩点模板
- sql关于视图的sql_学习SQL:SQL视图
- 7-3 DAG图优化-A (15 分)(更新版)
- velocity 获取list对象_Redis专题2:认识list、Zset与BitMaps
- atitit. java queue 队列体系and自定义基于数据库的队列总结o7t
- win10开始菜单添加磁贴_IT之家学院:Win10 自定义开始菜单磁贴背景颜色及图标...
- 序列号Serial Number管理
- 用excel制作双层饼图_Excel做的双层饼图,太漂亮了
- 《不抱怨的世界》-- 威尔·鲍温(Will Bowen)
- svm神经网络葡萄酒matlab,SVM神经网络的数据分类预测-葡萄酒种类识别
- 机房布线的最高境界 | 最后的暗黑系,真是亮瞎眼