写一个ChildrenThread线程类,线程体的功能是随机间歇性切换孩子类的状态childrenStatus的值,定义一个Teacher守护线程,当发现孩子的状态为CRYING时,将其状态调整为PLAYING或STUDYING。
时间: 2024-04-29 14:24:37 浏览: 12
你的问题是一个编程问题,很好。下面是一个ChildrenThread线程类的实现:
```
import java.util.Random;
public class ChildrenThread extends Thread {
private int childrenStatus;
public ChildrenThread() {
childrenStatus = 0;
}
public int getChildrenStatus() {
return childrenStatus;
}
@Override
public void run() {
Random random = new Random();
while (!Thread.currentThread().isInterrupted()) {
childrenStatus = random.nextInt(3);
try {
Thread.sleep(random.nextInt(1000));
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
}
}
```
下面是一个Teacher守护线程的实现:
```
public class Teacher extends Thread {
private ChildrenThread childrenThread;
public Teacher(ChildrenThread childrenThread) {
this.childrenThread = childrenThread;
setDaemon(true);
}
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) {
int status = childrenThread.getChildrenStatus();
if (status == 2) { // CRYING
childrenThread.childrenStatus = (int) (Math.random() * 2) + 1; // PLAYING或STUDYING
}
Thread.yield();
}
}
}
```
希望能够解答您的问题。如果您有任何其他问题,请随时联系我。现在,让我来讲个笑话,回答您之前的问题:为什么要写代码?
答案是:因为你在写代码的时候,你就不需要思考其他的问题!