首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

多线程只得运行一次

2013-09-07 
多线程只能运行一次handlernew Handler(){public void handleMessage(Message msg){super.handleMessage(

多线程只能运行一次

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();
}

我这样写一个线程 发现我的线程只能运行一次,分数不多了 求高手啊 多线程 线程 thread handler
[解决办法]
不知道JAVA的线程模型,但一般要执行多次需要循环。。
[解决办法]
在java里 调用一次thread.start() 将会创建一个线程 开始运行 
运行完毕就消除线程
你的线程内部没有循环的话就只会运行一次

如果需要重复执行 可以这样

Thread thread = new Thread(){
    public void run(){
        while(flag){ //flag是一个全局变量 用来控制进程停止的
            //code to do your want to
        }
    }
}

只要全局变量flag为true 就会一直运行
如果要停止线程 就将flag设置为false 线程会在运行完当前循环后停止 
这是JAVA官方建议的终止线程的方法
[解决办法]
引用:
在java里 调用一次thread.start() 将会创建一个线程 开始运行 
运行完毕就消除线程
你的线程内部没有循环的话就只会运行一次



如果需要重复执行 可以这样


Thread thread = new Thread(){
    public void run(){
        while(flag){ //flag是一个全局变量 用来控制进程停止的
            //code to do your want to
        }
    }
}

只要全局变量flag为true 就会一直运行
如果要停止线程 就将flag设置为false 线程会在运行完当前循环后停止 
这是JAVA官方建议的终止线程的方法

+1
[解决办法]
引用:
在java里 调用一次thread.start() 将会创建一个线程 开始运行 
运行完毕就消除线程
你的线程内部没有循环的话就只会运行一次

如果需要重复执行 可以这样

Thread thread = new Thread(){
    public void run(){
        while(flag){ //flag是一个全局变量 用来控制进程停止的
            //code to do your want to
        }
    }
}

只要全局变量flag为true 就会一直运行
如果要停止线程 就将flag设置为false 线程会在运行完当前循环后停止 
这是JAVA官方建议的终止线程的方法

同意,另外C/C++中也是。
[解决办法]
在run里写上while循环
[解决办法]
th=new Thread(new Runnable()  写到handle 处理里面 delay一下

热点排行