建立3个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC
import java.util.concurrent.TimeUnit; public class ThreadABC { public static void main(String[] args) throws InterruptedException { Object a = new Object(); Object b = new Object(); Object c = new Object(); Thread pa = new Thread(new PrintThread("A", c, a)), pb = new Thread(new PrintThread("B", a, b)), pc = new Thread(new PrintThread("C", b, c)); pa.start(); TimeUnit.MILLISECONDS.sleep(100L); pb.start(); TimeUnit.MILLISECONDS.sleep(100L); pc.start(); } } class PrintThread implements Runnable { private String name; private Object prev; private Object self; public PrintThread(String name, Object prev, Object self) { this.name = name; this.prev = prev; this.self = self; } @Override public void run() { int i = 10; while (i-- > 0) { try { synchronized (prev) { synchronized (self) { System.out.print(name); self.notify(); } prev.wait(); } } catch (InterruptedException e) { System.out.println("Interrupted"); } } } }
相关推荐
### Java多线程--让主线程等待所有子线程执行完毕 #### 核心知识点解析 在Java多线程环境中,让主线程等待所有子线程执行完毕是一个常见的需求,尤其是在处理大量数据或进行高性能计算时。这不仅有助于正确测量...
在Java多线程编程中,有时我们需要确保所有子线程执行完毕后再进行后续操作,例如在并发测试、数据聚合或资源清理等场景。本篇文章将详细介绍五种在Java中等待所有子线程执行完的方法。 ### 方法一:使用`sleep`...
在Java编程语言中,多线程是核心特性之一,它允许程序同时执行多个任务,从而提高了效率和资源利用率。在“WHUT-java多线程实验-第三周-文件上传和下载.zip”这个实验中,我们将重点探讨如何在多线程环境中实现文件...
基于java的开发源码-超简单Java多线程填表源码.zip 基于java的开发源码-超简单Java多线程填表源码.zip 基于java的开发源码-超简单Java多线程填表源码.zip 基于java的开发源码-超简单Java多线程填表源码.zip 基于java...
在Java编程中,多线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而提高了系统的效率和响应性。然而,在某些场景下,我们可能需要控制线程的执行顺序,确保它们按照特定的顺序交替运行,这在并发编程...
java多线程每个线程挨着打印ABC的4种实现方式,有4个线程t1、t2、t3、t4,t1打印A后t2打印A再t3打印A再t4打印A,然后从新回到t1打印B再t2打印B...t4打印B... 4个线程轮流打印abc... 一个线程可以理解为一个人,打印...
Java多线程与线程安全实践-基于Http协议的断点续传 Java多线程与线程安全实践-基于Http协议的断点续传 Java多线程与线程安全实践-基于Http协议的断点续传 Java多线程与线程安全实践-基于Http协议的断点...Java多线程与
头歌java多线程基础-day10.rar
头歌java多线程基础-day11.rar
头歌java多线程基础-day12.rar
JAVA多线程与线程安全实践-基于Http协议的断点续传 JAVA多线程与线程安全实践-基于Http协议的断点续传 JAVA多线程与线程安全实践-基于Http协议的断点续传 JAVA多线程与线程安全实践-基于Http协议的断点续传 JAVA多...
Java 多线程主题1- Java 多线程启动线程2- Java 多线程Volatile – 基本线程通信3- Java 多线程同步4- Java 多线程锁对象5- Java 多线程线程池6- Java 多线程倒计时闩锁7- Java 多线程生产者-消费者8- Java 多线程...
Java 多线程-Socket 编程 Java 多线程-Socket 编程是指在 Java 语言中使用多线程技术来实现网络编程,特别是使用 Socket 编程来实现客户端和服务器端的通信。在 Java 中,多线程可以使用 Thread 类和 Runnable 接口...
Java多线程与线程安全实践-基于Http协议的断点续传Java多线程与线程安全实践-基于Http协议的断点续传Java多线程与线程安全实践-基于Http协议的断点续传Java多线程与线程安全实践-基于Http协议的断点续传Java多线程与...
WHUT-java多线程实验-第六、七周-网络编程和多线程(IDEA实现) 能够实现用户登录和文件管理的多线程和网络传输
Java 多线程机制是Java语言的一大特性,它允许程序同时执行多个任务,模拟现实生活中的并发行为。在Java中,创建线程有两种主要方式:继承Thread类和实现Runnable接口。 在例子1中,我们看到一个简单的多线程示例。...
Java多线程与线程安全实践-基于Http协议的断点续传(毕业设计+课程设计)Java多线程与线程安全实践-基于Http协议的断点续传(毕业设计+课程设计)Java多线程与线程安全实践-基于Http协议的断点续传(毕业设计+课程...
WHUT-java多线程实验-第五周-数据库(IDEA实现) 本实验目标在实验 (4) 的基础上实现与本机数据库的连接。即对 DataProcessing 类进行改进,不再使用 Hashtable 存储用户与档案信息,转而使用 JDBC 编程方式实现对...
Java开发案例-springboot-61-整合asyncTool京东多线程编排工具-源代码+文档.rar Java开发案例-springboot-61-整合asyncTool京东多线程编排工具-源代码+文档.rar Java开发案例-springboot-61-整合asyncTool京东多线程...