`

多线程-使用CyclicBarrier达到join的效果

阅读更多
//多线程-使用CyclicBarrier达到join的效果
public class JoinTest {

public static void main(String[] args) {
int threadNum = 20;
CyclicBarrier barrier=new CyclicBarrier(threadNum, new PrintThread());
for(int i=0;i<threadNum;i++){
new Thread(new Task(barrier)).start();
}
}
    //Task线程执行完之后,再执行PrintThread
static class PrintThread implements Runnable{
public void run(){
System.out.println("game over!");
}
}

static class Task implements Runnable{
private CyclicBarrier barrier;

public Task(CyclicBarrier barrier){
this.barrier = barrier;
}

public void run(){
System.out.println("game is running..");

//阻塞,直到所有的Task线程都执行完
try {
barrier.await();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (BrokenBarrierException e) {
e.printStackTrace();
}
}
}
}
0
0
分享到:
评论

相关推荐

    【IT十八掌徐培成】Java基础第08天-02.多线程-join-daemon-同步.zip

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。多线程是Java中的核心特性,它使得程序能够同时...多线程-join-daemon-同步.avi"的视频教程,你可以深入学习这些概念,并通过实例加深理解。

    JAVA线程高级-线程按序交替执行

    在Java编程中,多线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而提高了系统的效率和响应性。然而,在某些场景下,我们可能需要控制线程的执行顺序,确保它们按照特定的顺序交替运行,这在并发编程...

    Java多线程--等待所有子线程执行完的五种方法.docx

    在Java多线程编程中,有时我们需要确保所有子线程执行完毕后再进行后续操作,例如在并发测试、数据聚合或资源清理等场景。本篇文章将详细介绍五种在Java中等待所有子线程执行完的方法。 ### 方法一:使用`sleep`...

    Java多线程详解(超详细)_狂神说笔记完整版_项目代码_适合小白随课程学习

    Java多线程详解 在Java编程中,多线程是一种重要的技术,它使得程序能够同时执行多个任务,提高系统的效率和响应性。本教程将详细讲解Java中的多线程概念,包括线程的创建、状态、同步以及高级主题,旨在帮助初学者...

    Java多线程编程总结

    ### Java多线程编程总结 #### 一、Java线程:概念与原理 1. **操作系统中线程和进程的概念** - 当前的操作系统通常为多任务操作系统,多线程是实现多任务的一种手段。 - **进程**:指内存中运行的应用程序,每个...

    JAVA多线程模式高清版+DEMO

    - `CyclicBarrier`:多线程到达屏障后一起继续,可重用。 - `Semaphore`:信号量,用于限制并发访问的线程数量。 7. **线程设计模式**: - 生产者-消费者模式:使用`BlockingQueue`实现线程间的生产与消费。 - ...

    java多线程

    由于提供的文件内容大部分与Java多线程编程核心技术并无直接关联,而是关于电子书资源的联系方式和说明,因此不能直接从这部分内容中生成关于Java多线程的知识点。但考虑到描述中提到了电子书的标题以及它涉及的主题...

    Java多线程资料

    Java多线程是Java编程中的核心概念,它允许程序同时执行多个任务,提高了软件的效率和响应性。在Java中,多线程的实现主要有两种方式:通过继承Thread类和实现Runnable接口。这篇资料深入探讨了Java多线程的相关知识...

    多线程机制

    ### 多线程机制 #### 一、线程与进程的区别及适用方向 - **线程**:线程是程序执行中的最小单元,是进程的一部分。一个进程可以包含多个线程,这些线程共享相同的内存空间和系统资源,使得线程间的通信更加高效。 ...

    java多线程使用教程

    Java多线程是Java编程中的重要组成部分,它允许程序同时执行多个任务,提高了程序的效率和响应...以上就是Java多线程使用教程的一些关键知识点,通过理解和掌握这些内容,开发者可以更好地编写高效、安全的多线程程序。

    Java多线程应用

    以上内容涵盖了Java多线程应用的基础和进阶知识,包括线程池的工作原理、线程的创建与控制、并发工具的使用以及同步机制和阻塞队列的概念。学习并理解这些知识点,将有助于开发者构建高效、稳定、可扩展的多线程Java...

    java多线程、锁的教程跟案例

    `多线程.docx`可能是关于Java多线程的深入讲解,涵盖线程安全、线程同步、锁的使用等方面。 总之,理解并熟练掌握Java多线程和锁机制对于编写高效、健壮的并发代码至关重要。通过实践和案例学习,可以更好地理解...

    多线程编程实战指南-核心篇

    《多线程编程实战指南-核心篇》是针对Java开发者深入理解并掌握多线程编程的一本实战性书籍。在当今的并发计算环境中,多线程技术是必不可少的知识点,它能够有效地利用多核处理器资源,提高程序的执行效率。本书以...

    java多线程编程总结

    ### Java多线程编程总结 #### 一、Java多线程概述 Java多线程是Java编程语言中不可或缺的一部分,它允许程序同时处理多个任务,从而显著提高应用程序的性能和响应速度。Java5之前的版本虽然支持多线程,但在语言...

    Java-多线程教学文档

    Java多线程编程是Java开发中的重要组成部分,它允许程序同时执行多个任务,从而提高了CPU资源的利用率。本文档详细介绍了Java多线程的相关知识,包括概念、原理、创建、同步、调度以及新特性。 首先,理解多线程的...

    Java互联网架构多线程并发编程原理及实战 视频教程 下载.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    Java互联网架构多线程并发编程原理及实战 视频教程 下载4.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    Java互联网架构多线程并发编程原理及实战 视频教程 下载2.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    Java互联网架构多线程并发编程原理及实战 视频教程 下载3.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

    Java互联网架构多线程并发编程原理及实战 视频教程 下载1.zip

    Java互联网架构多线程并发编程原理及实战 视频教程 下载 1-1 课程简介.mp4 1-2 什么是并发编程.mp4 1-3 并发编程的挑战之频繁的上下文切换.mp4 1-4 并发编程的挑战之死锁.mp4 1-5 并发编程的挑战之线程安全....

Global site tag (gtag.js) - Google Analytics