是我的Eclipse出问题了吗?!同样的java代码在我的软件上运行的结果却是错误的,求大神指教!
代码是关于多线程的,很简单:publicclassMyThreadextendsThread{privatestaticintcount=0;publicMyThread...
代码是关于多线程的,很简单:
public class MyThread extends Thread
{
private static int count=0;
public MyThread(String name)
{
super(name);
}
public static void main(String[] args)
{
MyThread p=new MyThread("t1");
p.start();
for(int i=0;i<5;i++)
{
count++;
System.out.println(count+":main");
}
}
public void run()
{
for(int i=0;i<5;i++)
{
count++;
System.out.println(count+":"+this.getName());
}
}
}
这是我的软件运行的结果:
1:main
2:t1
3:main
4:t1
5:main
6:t1
7:main
8:t1
9:main
10:t1
求解! 展开
public class MyThread extends Thread
{
private static int count=0;
public MyThread(String name)
{
super(name);
}
public static void main(String[] args)
{
MyThread p=new MyThread("t1");
p.start();
for(int i=0;i<5;i++)
{
count++;
System.out.println(count+":main");
}
}
public void run()
{
for(int i=0;i<5;i++)
{
count++;
System.out.println(count+":"+this.getName());
}
}
}
这是我的软件运行的结果:
1:main
2:t1
3:main
4:t1
5:main
6:t1
7:main
8:t1
9:main
10:t1
求解! 展开
2015-11-27
展开全部
这段程序没有错,你的运行结果也没问题,你是不是想要下面这种结果,但这只是一种可能出现的结果。因为p线程和主线程是两个不同的线程,所以输出结果会根据实际运行时这两个线程的调度情况而不同,如果你多运行几次,还有可能会有别的输出结果
1:main
2:main
3:main
4:main
5:main
6:t1
7:t1
8:t1
9:t1
10:t1
1:main
2:main
3:main
4:main
5:main
6:t1
7:t1
8:t1
9:t1
10:t1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有什么不正常的吗
更多追问追答
追问
正确结果应该是:
1:main
2:main
3:main
4:main
5:main
6:t1
7:t1
8:t1
9:t1
10:t1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询