定义一个方法,同时启动两个线程,分别为A,B,其中A线程打印“a”,B线程打印“b”,要求按照ababab的顺序交替打印输出
时间: 2024-05-15 22:14:59 浏览: 8
```java
public class ABThreadPrinter {
public static void main(String[] args) {
Object lock = new Object();
Thread a = new Thread(new PrintThread(lock, "a"));
Thread b = new Thread(new PrintThread(lock, "b"));
a.start();
b.start();
}
static class PrintThread implements Runnable {
private final Object lock;
private final String message;
public PrintThread(Object lock, String message) {
this.lock = lock;
this.message = message;
}
@Override
public void run() {
for (int i = 0; i < 3; i++) {
synchronized (lock) {
System.out.print(message);
lock.notifyAll();
try {
lock.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
synchronized (lock) {
lock.notifyAll();
}
}
}
}
```