public void run(){
while(Ture){
getSendData();
try{
Thread.sleep(1000);
}
catch(InterruptedException e){
e.printStackTrace();
}
}
}
我单击一次按钮为一秒触发getSendData()事件 但是随着不断的单击按钮 触发getSendData()事件的速度越来越快呢;
我想是不是应该先每次单击按钮时 先结束进程 小弟新手 可以写的详细些吗?
while(Ture){
getSendData();
try{
Thread.sleep(1000);
}
catch(InterruptedException e){
e.printStackTrace();
}
}
}
我单击一次按钮为一秒触发getSendData()事件 但是随着不断的单击按钮 触发getSendData()事件的速度越来越快呢;
我想是不是应该先每次单击按钮时 先结束进程 小弟新手 可以写的详细些吗?
或者while(true)那里改成private boolean isRun = true;public void run(){ while(isRun){
getSendData();
try{
Thread.sleep(1000);
}
catch(InterruptedException e){
e.printStackTrace();
}
}
}
然后自己做一个函数public void killThread(){
isRun = false;
}
自然频率高了。
你可以在点击按钮的事件里,加一个判断,
如果此线程为null,则new 新的线程,然后起动,否则不再去启动。或者,先将线程停止,然后再启动在按钮的事件里。
public boolean Threadlife=true;
默认为true表示线程活着
public void run(){
while(Threadlife){
getSendData();
try{
Thread.sleep(1000);
}
catch(InterruptedException e){
e.printStackTrace();
}
}
}
当 Threadlife=false;时就结束了