/**
* 多选题,问以下代码的输出结果
* A、java.lang.RuntimeException: Problem
* B、run
* java.lang.RuntimeException: Problem
* C、End of method
* D、
* End of method
* run
* java.lang.RuntimeException: Problem
* E、
* run
* java.lang.RuntimeException: Problem
* End of method
*
* 正确的答案:D、E
* 解析:考查了Runnable实现多线程的知识点及start方法与run的调用顺序,即通过start调用的run;
* 本题在 main 方法中,创建了一个新的 Thread 对象 t,并传入了一个新的 Threads2 实例作为它的任务。
* 然后,线程 t 被启动,这将导致 Threads2 的 run 方法在某个独立的线程上执行。
* 同时,main 线程继续执行并立即打印 "End of method"。
* 由于两个线程(main 线程和 t 线程)是并发执行的,所以 "End of method" 和 run方法的打印顺序是不确定的
*/
public class Threads2 implements Runnable{
public void run(){
System.out.println("run");
throw new RuntimeException("Problem");
}
public static void main(String[] args) {
Thread t=new Thread(new Threads2());
t.start();
System.out.println("End of method");
}
}