在主线程中创建了一个线程,该线程休眠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); //Found* t._____________(); t.join(); int j= a.i; System.out.println("j="+j+",a.i="+a.i); } catch (Exception e) {} } } //Found* class Sleep implements __{ int i; public void run () { try { //Found* Thread.(50); i= 10; } catch(InterruptedException e) {} } }
时间: 2024-03-22 13:42:54 浏览: 55
本题的答案如下:
```
public class Java_2 {
public static void main (String args[]) {
try {
Sleep a = new Sleep ();
Thread t = new Thread (a);
t.start();
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.sleep(50);
i = 10;
} catch(InterruptedException e) {}
}
}
```
解析:
1. 在 main() 方法中创建 Sleep 对象 a,并创建线程对象 t,并启动该线程。
2. 在线程 t 启动后,主线程通过 t.join() 方法等待线程 t 执行结束。
3. 在 Sleep 类中,实现 Runnable 接口,重写 run() 方法,该方法中让线程休眠50ms,然后将变量 i 赋值为 10。
4. 在主线程中,获取 Sleep 对象 a 中的变量 i 的值,并打印输出。
阅读全文