问题 填空题


请完善程序(程序文件名:Java_2.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。
[题目要求]
在主线程中创建了一个线程,该线程休眠50ms,然后给变量i赋值。主线程要等该子线程结束后获得并输出i的值,使程序的输出结果如下:
j=10,a.i=10
源程序:
public class Java_2 {
 public static void main(String args[]) {
  try {
   Sleep a=new Sleep();
   Thread t=new Thread(a);
   t. (1) ();
   t.join();
   int J=a.i;
   System.out.println("j="+j+",a.i="+a.i);
   } catch(Exception e) {}
  }
}
class Sleep implements Runnable {
  int i;
  public void run() {
   try {
    Thread. (2) (50);
    i=10;
   } catch(InterruptedException e) { }
  }
 }

答案

参考答案:sleep

解析: 题目要求中提到该线程休眠50ms,然后给变量赋值,所以此处应填让线程休眠的方法sleep。 [程序解析] 本程序通过实现Runnable接口重写run()方法创建线程t。在此程序中用到了3个方法: (1) start()——刚创建的线程t不会自动运行,需要start方法把嵌入线程中的虚拟CPU置为可运行状态,意味着线程可被调度执行。 (2) t.join()——使当前的线程等待,直到t结束为止,线程恢复到可运行状态。 (3) sleep()——该方法使一个线程暂停一段固定时间。

多项选择题 X型题
单项选择题 A1/A2型题