我的任务是按以下顺序创建线程:如果A开始->开始B和C,如果B开始->开始D。并以相反的顺序销毁它们如果D然后B。如果B和C然后A。我希望你得到它。我设法做到了,但我想有更好的方法来做到这一点。你有什么建议吗?
在您发表评论后,我更改了我的代码,并且更加简单。但现在看起来很“愚蠢”。我想改变 if 语句和实现的核心,有什么建议吗?tnx 的建议,我正在和你一起学习。
这是我的新代码:
import java.util.*;
class RobotController implements Runnable{
String name;
public void run() {
Thread t = Thread.currentThread();
System.out.println(t.getName() + " status = " + t.isAlive());
System.out.println(t.getName() + " status = " + t.getState());
}
public static void main(String args[]) throws InterruptedException{
Thread thread_A = new Thread(new RobotController(), "Thread A");
Thread thread_B = new Thread(new RobotController(), "Thread B");
Thread thread_C = new Thread(new RobotController(), "Thread C");
Thread thread_D = new Thread(new RobotController(), "Thread D");
thread_A.start();
thread_A.join();
System.out.println(thread_A.getState());
thread_B.start();
thread_B.join();
System.out.println(thread_B.getState());
thread_C.start();
thread_C.join();
System.out.println(thread_C.getState());
thread_D.start();
System.out.println(thread_D.getState());
}
}