线程为何输出两次

tanghe5083 2008-11-19 03:24:00
有两个线程,为何输出结果为: sdf
aaa
t2
t2
四个输出,应该为两个才是,请大师指点》
public class Tthread extends Thread
{
String msg="sdf";
public void run()
{
try
{

t1.call("aaa");
System.out.println(msg);
t1.sleep(1000);

System.out.println("t2");
t2.sleep(3000);
// System.out.println(Tthread.activeCount());
}
catch(Exception e)
{
}



}
public String call(String msg)
{
this.msg=msg;
return this.msg;
}
static Tthread t1;
static Tthread t2;
public static void main(String[] args)
{
t1=new Tthread();
t2=new Tthread();
t1.start();
t2.start();

}
}
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
llpoo 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 macleane 的回复:]
有两条打印语句,两个线程都执行了这两条打印语句,所以是4条输出,有什么问题??
[/Quote]
是啊
macleane 2008-11-19
  • 打赏
  • 举报
回复
有两条打印语句,两个线程都执行了这两条打印语句,所以是4条输出,有什么问题??
llpoo 2008-11-19
  • 打赏
  • 举报
回复
你最好把线程类跟入口类(带有main方法)的类分开来写,这里得问题应该是类被实例化后调用了一次,然后又start一次

62,614

社区成员

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

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