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

解决方案 »

  1.   

    不知道JAVA的线程模型,但一般要执行多次需要循环。。
      

  2.   

    在java里 调用一次thread.start() 将会创建一个线程 开始运行 
    运行完毕就消除线程
    你的线程内部没有循环的话就只会运行一次如果需要重复执行 可以这样Thread thread = new Thread(){
        public void run(){
            while(flag){ //flag是一个全局变量 用来控制进程停止的
                //code to do your want to
            }
        }
    }只要全局变量flag为true 就会一直运行
    如果要停止线程 就将flag设置为false 线程会在运行完当前循环后停止 
    这是JAVA官方建议的终止线程的方法
      

  3.   

    th=new Thread(new Runnable()  写到handle 处理里面 delay一下
      

  4.   

    两种方法   一是  thread.sleep等代码 放在循环里   其实是一个线程
    二是  使用handler  执行(post)这个线程  需要多线程的话  新建不同的Thread用handler执行或者手动start