模拟三个老师同时给 50 个小朋友发苹果,每个老师相当于一个线程。用java编写
时间: 2024-02-16 12:03:28 浏览: 184
可以使用Java中的多线程技术来模拟三个老师同时给50个小朋友发苹果。下面是一个简单的Java程序示例:
```java
public class AppleDistribution {
private static final int NUM_TEACHERS = 3;
private static final int NUM_CHILDREN = 50;
public static void main(String[] args) {
// 创建三个老师的线程
Thread[] threads = new Thread[NUM_TEACHERS];
for (int i = 0; i < NUM_TEACHERS; i++) {
threads[i] = new Thread(new Teacher(i));
threads[i].start();
}
// 等待三个老师的线程执行完成
for (int i = 0; i < NUM_TEACHERS; i++) {
try {
threads[i].join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private static class Teacher implements Runnable {
private int id;
public Teacher(int id) {
this.id = id;
}
@Override
public void run() {
for (int i = 1; i <= NUM_CHILDREN; i++) {
// 模拟给小朋友发苹果的过程
System.out.println("Teacher " + id + " gives apple to child " + i);
try {
Thread.sleep(10); // 模拟耗时操作
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
```
在上面的程序中,我们创建了三个老师的线程,并且每个线程都执行了一个 `Teacher` 类的实例。每个 `Teacher` 实例都会模拟给50个小朋友发苹果的过程,其中包括了一些耗时的操作,比如 `Thread.sleep()` 方法。最后我们使用 `join()` 方法来等待三个老师的线程执行完成。
阅读全文