用java设计一个程序,实现两个线程之间的交替输出,其中一个线程只输出A,另一个线程只输出B,在实现过程中使用阻塞队列
时间: 2024-02-26 13:56:39 浏览: 60
好的,下面是一个使用阻塞队列实现线程交替输出A和B的Java程序:
```java
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
public class ThreadAlternatePrint {
public static void main(String[] args) {
BlockingQueue<String> queue = new ArrayBlockingQueue<>(1);
Thread threadA = new Thread(() -> {
while (true) {
try {
queue.put("A");
System.out.print("A");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
Thread threadB = new Thread(() -> {
while (true) {
try {
queue.take();
System.out.print("B");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
threadA.start();
threadB.start();
}
}
```
这个程序创建了一个容量为1的阻塞队列,然后启动两个线程,一个线程不断向队列中添加字符串"A",另一个线程不断从队列中取出字符串并输出字符串"B"。由于队列容量为1,这保证了两个线程之间的交替输出。
阅读全文