初学者求助,多线程同时运行问题

赤鹰java 发布于 2013/04/23 16:34
阅读 197
收藏 0
 package wyf.ytl;

public class WelcomeViewGoThread extends Thread{
int sleepSpan = 200;/ 眠的毫秒数
private boolean flag = true;

PushBoxActivity pushBoxActivity;//activity的引用

public WelcomeViewGoThread(PushBoxActivity pushBoxActivity){
this.pushBoxActivity = pushBoxActivity;
}
public void setFlag(boolean flag){
this.flag = flag;
}

public static void main(String[] args) throws InterruptedException {
Thread1 t1=new Thread1();
t1.start();
Thread2 t2=new Thread2();
t2.start();
Thread3 t3=new Thread3();
t3.start();

}
}
class Thread1 extends Thread{
int status = 0;
private boolean flag;
PushBoxActivity pushBoxActivity;
public void run() {//重写的run方法
// while(flag){
switch(status){
case 0://潜艇运动
    pushBoxActivity.welcomeView.submarine_shipX -= 2;
if(pushBoxActivity.welcomeView.submarine_shipX<-90){
status = 1;
}
break;
if(pushBoxActivity.welcomeView.ironY<-380){
case 1:
this.flag = false;
pushBoxActivity.myHandler.sendEmptyMessage(1);//向主activity发送Handler消息
break;
}

try{
Thread.sleep(200);/ 眠
}
catch(Exception e){
e.printStackTrace();
}
  }
}

class Thread2 extends Thread{
int status = 0;

PushBoxActivity pushBoxActivity2;
public void run() {//重写的run方法
//while(flag){
switch(status){
case 0://022运动
    pushBoxActivity2.welcomeView.ship022mX -= 2;
//pushBoxActivity.welcomeView.ship022mY -= 2;
if(pushBoxActivity2.welcomeView.submarine_shipX<-90){
status = 1;
}
break;
case 1:
pushBoxActivity2.myHandler.sendEmptyMessage(1);//向主activity发送Handler消息
break;
}

try{
Thread.sleep(200);/ 眠
}
catch(Exception e){
e.printStackTrace();
}
  }
}
class Thread3 extends Thread{
int status = 0;
PushBoxActivity pushBoxActivity3;

public void run() {//重写的run方法

//while(flag){
switch(status){
case 0://052b运动
    pushBoxActivity3.welcomeView.ship052bmX -= 2;
if(pushBoxActivity3.welcomeView.submarine_shipX<-90){
status = 1;
}
break;
case 1: pushBoxActivity3.myHandler.sendEmptyMessage(1);//向主activity发送Handler消息
break;
}

try{
Thread.sleep(200);
}
catch(Exception e){
e.printStackTrace();
}
  }
}
我是初学者,想请教各位高手:上面这个程序没有语法报错,主要是功能实现不了,我想让上面三个线程都同时运行起来,即潜艇、022、052护卫舰都能同时在水面运动,谢谢!
加载中
返回顶部
顶部