Java建立3个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC
时间: 2024-12-29 13:34:13 浏览: 10
在Java中,我们可以创建三个`Thread`对象并分别关联到不同的任务,然后通过同步机制确保它们按照ABC的顺序交替执行。下面是一个简单的示例:
```java
public class PrintThread implements Runnable {
private String name;
private int count;
public PrintThread(String name, int count) {
this.name = name;
this.count = count;
}
@Override
public void run() {
for (int i = 0; i < count; i++) {
synchronized (this) { // 使用当前对象作为锁
System.out.println(name + ": " + i);
notify(); // 当轮到下一个线程时唤醒它
if (i % 3 == 2) { // 每打印三次,让其他线程运行
try {
wait(); // 线程进入等待状态
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
public static void main(String[] args) {
Thread a = new Thread(new PrintThread("A", 10));
Thread b = new Thread(new PrintThread("B", 10));
Thread c = new Thread(new PrintThread("C", 10));
a.start();
b.start();
c.start();
}
}
```
在这个例子中,我们创建了三个`PrintThread`实例,并将它们包装成`Thread`。每个线程在其`run`方法内部交替打印A、B、C,每打印完一轮就会释放锁(`notify`),让下一个线程开始,然后自身进入等待状态(`wait`)。这样就实现了线程间的同步和交替打印。
阅读全文