问题 单项选择题

下列程序的执行结果是______。 class T5 implements Runnable { public void run() { int i = 0; While(i<2) {Thread t = Thread.currentThread();System.out.println(i + t.getName());i++ } } } public class Testl6 {public static void main(String[] args){ Thread t1 = new Thread(new T5(), "TS"); t1.start (); Thread t = Thread.currentThread(); for(int i = 0; i<3; i++) {System.out.println(I + t.getName());if(i == 1 && t1.isAlive())t.yield(); }} }

A.Omainlmam0T51T52main

B.Omain lmam 2main

C.Omain lmain 2main 0T5 1T5

D.Omain lmain 0T5 1T5

答案

参考答案:A

解析: 本程序首先创建一个名称为“T5”的线程t1,然后调用Thread.currentThread()方法得到main()方法的线程t,在循环中打印出t的名称,再判断如果t1还活着,就执行t.yield(), main()方法让出CPU,t1获得运行的机会,并执行t1的循环,输出2行包含n名字的字符串, t1执行完毕,回到main()方法中,线程main继续执行,输出最后一行字符串。

单项选择题 A1型题
单项选择题