news 2026/4/18 10:09:31

使用三个线程按顺序打印ABC,循环打印10次

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用三个线程按顺序打印ABC,循环打印10次

记录一道常用的线程调度算法题

实现如下:

public class PrintABC {
private static final int MAX_PRINT_COUNT = 10; // 循环打印次数
private static int state = 0; // 线程状态,0表示打印A,1表示打印B,2表示打印C

public static void main(String[] args) {
Object lock = new Object();

Thread threadA = new Thread(() -> {
for (int i = 0; i < MAX_PRINT_COUNT; i++) {
synchronized (lock) {
while (state % 3 != 0) { // 轮到A打印
try {
lock.wait();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
System.out.print("A");
state++;
lock.notifyAll();
}
}
});

Thread threadB = new Thread(() -> {
for (int i = 0; i < MAX_PRINT_COUNT; i++) {
synchronized (lock) {
while (state % 3 != 1) { // 轮到B打印
try {
lock.wait();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
System.out.print("B");
state++;
lock.notifyAll();
}
}
});

Thread threadC = new Thread(() -> {
for (int i = 0; i < MAX_PRINT_COUNT; i++) {
synchronized (lock) {
while (state % 3 != 2) { // 轮到C打印
try {
lock.wait();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
System.out.print("C");
state++;
lock.notifyAll();
}
}
});

// 启动三个线程
threadA.start();
threadB.start();
threadC.start();
}
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 4:02:08

【系统分析师】5.8 非关系数据库

&#x1f5c2;️ 一、概述&#xff1a;超越表格的多元化数据世界非关系数据库&#xff08;常称 NoSQL&#xff0c;意为“不仅仅是SQL”&#xff09;是一类为应对现代互联网应用的海量数据、高并发、灵活数据模型等挑战而设计的数据库的统称。它打破了关系数据库以固定模式表格和…

作者头像 李华
网站建设 2026/4/18 4:03:04

基于深度学习YOLOv12的生菜生长周期检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 本文提出了一种基于深度学习YOLOv12的生菜生长周期检测系统&#xff0c;能够自动识别和分类生菜的不同生长阶段。系统采用YOLOv12目标检测算法&#xff0c;结合定制化的YOLO数据集&#xff0c;实现了对生菜生长周期的精准检测&#xff0c;包括5个类别&#xff1a…

作者头像 李华
网站建设 2026/4/18 3:55:58

基于深度学习YOLOv12的鸡检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 本文基于深度学习目标检测算法YOLOv12&#xff0c;设计并实现了一套高效的鸡只检测系统。系统结合YOLOv12模型的高精度与实时性优势&#xff0c;采用公开或自建的YOLO格式鸡只检测数据集进行训练与优化&#xff0c;实现了对鸡只的精准定位与识别。为提升用户体验…

作者头像 李华