handler=new Handler(){
public void handleMessage(Message msg)
{
super.handleMessage(msg);
switch (msg.what)
{
case 0:
break;
case 1:
textView4.setText(String.valueOf(x));
textView5.setText(String.valueOf(y));
textView6.setText(String.valueOf(z));
break;
default:
break;
}
}
};
th=new Thread(new Runnable(){ @Override
public void run() {
// TODO Auto-generated method stub
Thread.currentThread();
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
x=gl.getX();
y=gl.getY();
z=gl.getZ();
Message ms=new Message();
ms.what=1;
handler.sendMessage(ms);
}
});
th.start();
}
我这样写一个线程 发现我的线程只能运行一次,分数不多了 求高手啊多线程线程threadhandler
public void handleMessage(Message msg)
{
super.handleMessage(msg);
switch (msg.what)
{
case 0:
break;
case 1:
textView4.setText(String.valueOf(x));
textView5.setText(String.valueOf(y));
textView6.setText(String.valueOf(z));
break;
default:
break;
}
}
};
th=new Thread(new Runnable(){ @Override
public void run() {
// TODO Auto-generated method stub
Thread.currentThread();
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
x=gl.getX();
y=gl.getY();
z=gl.getZ();
Message ms=new Message();
ms.what=1;
handler.sendMessage(ms);
}
});
th.start();
}
我这样写一个线程 发现我的线程只能运行一次,分数不多了 求高手啊多线程线程threadhandler
运行完毕就消除线程
你的线程内部没有循环的话就只会运行一次如果需要重复执行 可以这样Thread thread = new Thread(){
public void run(){
while(flag){ //flag是一个全局变量 用来控制进程停止的
//code to do your want to
}
}
}只要全局变量flag为true 就会一直运行
如果要停止线程 就将flag设置为false 线程会在运行完当前循环后停止
这是JAVA官方建议的终止线程的方法
二是 使用handler 执行(post)这个线程 需要多线程的话 新建不同的Thread用handler执行或者手动start