2014-06-11 8 views
0

안녕하세요 여러분, 스레드가 활동 중입니다. 작업을 실행할 때 스레드 상태를 알고 싶습니다. 스레드 상태를 알 수 있습니까? 예 :상태 스레드가 활성화되었는지 여부를 확인하십시오.

스레드가 실행 중이 아니면 지금 시작하십시오. 내가 작업을 실행할 때마다

는 스레드가 시작 :(

스레드 :들의 OnDestroy에서

public void callAsynchronousTask(Timer timer, final ToggleButton btnAtterraDecolla, 
     final ToggleButton btnRitardo, final ToggleButton btnImbarco) 
    { 
    final Handler handler = new Handler(); 

    isTimerRunning = true; 

    TimerTask doAsynchronousTask = new TimerTask() {  
     @Override 
     public void run() {    
      handler.post(new Runnable() { 

       public void run() {  
        try { 
         tTask aTask = new tTask(); //THIS IS ASYNCTASK 

         if(btnAtterraDecolla.isChecked()) 
          LOL(1,AoP,btnAtterraDecolla);  

         if(btnRitardo.isChecked()) 
          LOL(2,AoP,btnRitardo); 

         if(btnImbarco.isChecked()) 
          LOL(3,AoP,btnImbarco); 
         aTask.execute(); 

        } catch (Exception e) { 
         // TODO Auto-generated catch block 
        } 
       } 
      }); 
     } 
    }; 
    timer.schedule(doAsynchronousTask, 0, TEMPO_ESECUZIONE_THREAD);/
} 

()

@Override 
public void onDestroy() { 
    stopUpdates(btnAtterraDecolla,btnRitardo,btnImbarco); 
    super.onDestroy(); 

} 
private void stopUpdates(ToggleButton btnAtterraDecolla,ToggleButton btnRitardo,ToggleButton btnImbarco) { 

    if(!btnAtterraDecolla.isChecked() && !btnRitardo.isChecked() && !btnImbarco.isChecked()){ 
     if (isTimerRunning) { 
      timer.cancel(); 
      timer.purge(); 
      timer = null; 
      isTimerRunning = false; 
     } 
    } 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
....callAsynchronousTask(...) 

그리고 여기 난 단지 인 btn1 경우 스레드를 중지하려면, btn2, btn3이 선택되지 않았습니다.

이 문제를 해결할 수있는 방법이 있습니까? 미리 감사드립니다!

답변

0

어떤 방법이 부울을 반환

Thread.isAlive() , 

방법으로 스레드 속성

당신은 스레드를 확인할 수 살아있다()을 확인할 수 있습니다.

당신 수 실행 스레드에 의해 실행 발견하는

Thread.currentThread().getName() 
+0

당신이 나 예 수 미안 해요 ... 이해가 안 돼요? – user3671540

+0

미안 해요 타이머입니다 ... 타이머 상태 확인 ... 켜기 또는 끄기 – user3671540

관련 문제