读书人

多线程只得运行一次

发布时间: 2013-09-07 14:12:45 作者: rapoo

多线程只能运行一次

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一下

读书人网 >Android

热点推荐