问一下,这里怎么会有两个线程》?

love_li 2006-11-25 10:10:54
public class ThreadJoinTest
{
public static void main(String args[]) throws Excetion
{
int i=0;
Hello h=new Hello();

Thread t=new Thread(h);
t.setPriority(Thread.MAX_PRIORITY);
t.start();

System.out.println("Please stop saying Hello and say good morning!");
h.stopRunning();
while(i<5)
{
System.out.println("Good Morning"+i++);
}
}
}

class Hello implements Runnable
{
int i=0;
private boolean timeToQuit=false;
public void run()
{
while(!timeToQuit)
{
System.out.println("Hello"+i++);
try {
if(i%2==0)
Thread.sleep(10);
}catch(Exception e){}
public void stopRunning()
{
timeToQuit=true;
}
}
}


结果如下:

Hello0
Hello1
Hello2
Hello3
Please stop saying Hello and say good morning
Good Morning0
Good Morning1
Good Morning2
Good Morning3
Good Morning4

我看不出这个程序有两个线程,可是书上说用两个。能否帮我找一下答案?
...全文
135 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
treeroot 2006-11-26
  • 打赏
  • 举报
回复
是这样的
wfront 2006-11-26
  • 打赏
  • 举报
回复
public static void main(string[] args)
这个就会起动一个线程
R4_1314 2006-11-26
  • 打赏
  • 举报
回复
Hello0
Hello1
Hello2
Hello3
这是用线程打印出来的.
Please stop saying Hello and say good morning
Good Morning0
Good Morning1
Good Morning2
Good Morning3
Good Morning4
这是用主线程打印出来的结果
这样看看不出效果,你把t.setPriority(Thread.MAX_PRIORITY);和 h.stopRunning();
注释掉应该会看出结果了
malligator 2006-11-26
  • 打赏
  • 举报
回复


不用Runnable/Thread就已经有一个主线程了呀

62,614

社区成员

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

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