这个程序输出无结果,但是把 zhang = new Thread("张小红"); wang = new Thread("Keven"); 改成
zhang=new Thread(this);
zhang.setName("张小红");
keven=new Thread(this);
keven.setName("Keven");
就对了 为什么呀 怎么错了呀
class Move implements Runnable{
Thread zhang, wang;
Move(){
zhang = new Thread("张小红");
wang = new Thread("Keven");
}
public void run(){
int i = 0;
System.out.println(Thread.currentThread().getName());
while(true){
if(Thread.currentThread().getName().equals("张小红")){
i++;
System.out.println("张小红"+"线程的局部变量i=:"+i);
if(i >= 10){
System.out.println("张小红线程进入死亡状态");
return;
}
}
else if(Thread.currentThread().getName().equals("Keven"))
{
i--;
System.out.println("Keven"+"线程的局部变量i=:"+i);
if(i <= -10){
System.out.println("Keven线程进入死亡状态");
return;
}
}
}
}
}
class Example{
public static void main(String[] args){
Move move = new Move();
move.zhang.start();
move.wang.start();
}
}
zhang=new Thread(this);
zhang.setName("张小红");
keven=new Thread(this);
keven.setName("Keven");
就对了 为什么呀 怎么错了呀
class Move implements Runnable{
Thread zhang, wang;
Move(){
zhang = new Thread("张小红");
wang = new Thread("Keven");
}
public void run(){
int i = 0;
System.out.println(Thread.currentThread().getName());
while(true){
if(Thread.currentThread().getName().equals("张小红")){
i++;
System.out.println("张小红"+"线程的局部变量i=:"+i);
if(i >= 10){
System.out.println("张小红线程进入死亡状态");
return;
}
}
else if(Thread.currentThread().getName().equals("Keven"))
{
i--;
System.out.println("Keven"+"线程的局部变量i=:"+i);
if(i <= -10){
System.out.println("Keven线程进入死亡状态");
return;
}
}
}
}
}
class Example{
public static void main(String[] args){
Move move = new Move();
move.zhang.start();
move.wang.start();
}
}
zhang=new Thread(this);
zhang.setName("张小红");
keven=new Thread(this);
keven.setName("Keven")存放的是对象
你应该能明白了吧
name - 新线程的名称。这个是API里写的呀
zhang = new Thread(null,null,"张小红")
你这样写试试
在main里,start()以后,并没有调用你自己实现的接口run()