Java实现模拟两位班委一起发总共66本《网络环境编程》教材,每次只发放一本,每位班委相当于一个线程。(输出:班委?正在发出第?本《网络环境编程》教材,还剩?本)
时间: 2024-05-02 18:21:07 浏览: 59
```java
public class BookThread implements Runnable {
private static int bookCount = 66; // 教材总数
private int threadId; // 线程编号
private String name; // 班委名字
public BookThread(int threadId, String name) {
this.threadId = threadId;
this.name = name;
}
@Override
public void run() {
while (true) {
if (bookCount > 0) { // 还有教材
synchronized (BookThread.class) { // 同步锁
if (bookCount > 0) { // 再次判断是否有教材
System.out.println(name + "正在发出第" + (66 - bookCount + 1) + "本《网络环境编程》教材,还剩" + (--bookCount) + "本");
} else {
break; // 教材发完了,退出循环
}
}
} else {
break; // 教材发完了,退出循环
}
}
}
public static void main(String[] args) {
Thread thread1 = new Thread(new BookThread(1, "班委1"));
Thread thread2 = new Thread(new BookThread(2, "班委2"));
thread1.start();
thread2.start();
}
}
```
阅读全文