能帮我完成这个程序填空吗?关于多线程。

孤尽JavaSea 2010-02-09 03:01:43
class AA implements Runnable{
int i;
public void run(){
try{
Thread.sleep(5000);
i=10;
}catch(InterruptedException e){

}
}
}
public class Jion {
public static void main(String[] args) {
AA x = new AA();
Thread t = new Thread(x);
t.start();
//这里填空,使i=10,并说明理由。
System.out.println(x.i);
}
...全文
147 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
nicholasbobo 2010-02-09
  • 打赏
  • 举报
回复
引用 12 楼 xiesisi3 的回复:
引用 10 楼 nicholasbobo 的回复:引用 8 楼 sunnylyy 的回复:这个: t.join(); 这个也行,但是跟让主线程睡个>5000毫秒的方法没有本质区别

你干脆先把所以不可以用的方法全部列出来,像这样别人回答一个你就否决一个好象显示你很厉害一样?

你愤怒什么?我说了什么方法不可以用了?
darktop 2010-02-09
  • 打赏
  • 举报
回复
public class Jion {

/**
* @param args
*/
public static void main(String[] args) {
RunTest r= new RunTest();
Thread t = new Thread();
t.start();
r.run();
System.out.println(r.i);
}

}
sunnylyy 2010-02-09
  • 打赏
  • 举报
回复
t.join(): 等待线程t终止,再做下面的操作。
孤尽JavaSea 2010-02-09
  • 打赏
  • 举报
回复
答案是t.joint()为什么?能讲下理由吗?
xiesisi3 2010-02-09
  • 打赏
  • 举报
回复
是所有,不好意思打错字:(
xiesisi3 2010-02-09
  • 打赏
  • 举报
回复
引用 10 楼 nicholasbobo 的回复:
引用 8 楼 sunnylyy 的回复:这个: t.join();
这个也行,但是跟让主线程睡个>5000毫秒的方法没有本质区别


你干脆先把所以不可以用的方法全部列出来,像这样别人回答一个你就否决一个好象显示你很厉害一样?
yueguangkai001 2010-02-09
  • 打赏
  • 举报
回复
八楼的高见,正在找相对应的API,刚刚找到才发现有人都回答了
nicholasbobo 2010-02-09
  • 打赏
  • 举报
回复
引用 8 楼 sunnylyy 的回复:
这个: t.join();

这个也行,但是跟让主线程睡个>5000毫秒的方法没有本质区别
david2083 2010-02-09
  • 打赏
  • 举报
回复
while(i!=10){}
sunnylyy 2010-02-09
  • 打赏
  • 举报
回复
这个: t.join();
小贝壳666 2010-02-09
  • 打赏
  • 举报
回复
期待不用sleep的答案,楼主发答案吧
nicholasbobo 2010-02-09
  • 打赏
  • 举报
回复
填空那里加个Thread.sleep(6000);当然不一定是6000,只要比5000大就行。
孤尽JavaSea 2010-02-09
  • 打赏
  • 举报
回复
不能用sleep
这样考还有什么价值。
小贝壳666 2010-02-09
  • 打赏
  • 举报
回复
public class Jion {
public static void main(String[] args) {
AA x = new AA();
Thread t = new Thread(x);
t.start();
//这里填空,使i=10,并说明理由:等子线程中的 i=10执行完再输出。所以要让主线程等一会儿。
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}

System.out.println(x.i);
}
}
Dazzlingwinter 2010-02-09
  • 打赏
  • 举报
回复
x.i = 10;
yueguangkai001 2010-02-09
  • 打赏
  • 举报
回复
我建议你在主线程里面睡上6秒估计那个线程就执行完成了
小贝壳666 2010-02-09
  • 打赏
  • 举报
回复
public class Jion {
public static void main(String[] args) {
AA x = new AA();
Thread t = new Thread(x);
t.start();
//这里填空,使i=10,并说明理由:等子线程中的 i=10执行完再输出。所以要让主线程等一会儿。
Thread.sleep(10000);

System.out.println(x.i);
}

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧