请教大家下线程的问题

fromtc 2007-10-25 09:07:07



public class ThreadTest extends Thread {
private String s;


public ThreadTest(String str){
s=str;
}

public void run(){
for(int i=0;i<10; i++){
System.out.println(s +":"+i);
try{
Thread.sleep(1000);

}catch (Exception e){}
}
}

public static void main(String[] arg){
ThreadTest mt= new ThreadTest("Thread");
for(int i=0;i<=4;i++)
new Thread(mt).start();
System.out.println("This is ThreadTest");

}
}


输出结果是
Thread:0
This is ThreadTest
Thread:0
Thread:0
Thread:0
Thread:0
Thread:1
Thread:1
Thread:1
Thread:1
Thread:1
Thread:2
Thread:2
Thread:2
Thread:2
Thread:2
Thread:3
Thread:3
Thread:3
Thread:3
Thread:3
Thread:4
Thread:4
Thread:4
Thread:4
Thread:4
Thread:5
Thread:5
Thread:5
Thread:5
Thread:5
Thread:6
Thread:6
Thread:6
Thread:6
Thread:6
Thread:7
Thread:7
Thread:7
Thread:7
Thread:7
Thread:8
Thread:8
Thread:8
Thread:8
Thread:8
Thread:9
Thread:9
Thread:9
Thread:9
Thread:9
更改两个循环变量的时候This is ThreadTest总是出现在不同位置,我觉得应该都在最后输出,请假下为什么呢?

...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fromtc 2007-10-27
  • 打赏
  • 举报
回复
自己顶
大家快来说说啊
fromtc 2007-10-25
  • 打赏
  • 举报
回复
说错了,应该是修改休眠时间或第二个循环变量的时候This is ThreadTest就在不同的位置出现,而代码中这个输出语句是在那个线程循环之后的呀,应该是在所有线程执行完才输出这句话的吧

62,615

社区成员

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

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