2011-10-06 11 views
6

Folks,Android - Właściwa droga czekać na obiekt handler być tworzone

Oto kod uproszczony do mojego tła wątku:

public class MyThread extends Thread { 
     private Handler _handler; 

     public void run() { 
     Looper.prepare(); 
     this._handler = new Handler(); 
     Looper.loop(); 
     } 

     public void DoSomething() { 
     if (!this.isAlive()) { 
      this.start(); 
     } 

     this._handler.post(blah); 
     } 
    } 

Mam problem jest to, że wątek tła może nie mieć a mimo to utworzył obiekt obsługi podczas wywołania post(). Zasadniczo potrzebuję pętli oczekiwania na inicjalizację obiektu obsługi. Co to jest generowana zaakceptowana metoda robienia tego w systemie Android?

Z góry dziękujemy za pomoc.

Pozdrawiam, Peter

+0

Czy masz na myśli ".. stworzył obiekt obsługi, gdy wykonywane jest wywołanie * DoSomething() *"? –

+0

Zasadniczo tak. Nie ten obiekt obsługi nie zostanie utworzony, dopóki funkcja start() nie zostanie wywołana (po raz pierwszy) z DoSomething(). Ale musimy poczekać, aż wątek bg zacznie działać, a obiekt obsługi zostanie utworzony. Obecne, mam pętlę while, w której śpię przez 50 ms i sprawdzam, czy został utworzony program obsługi. Zastanawiam się, czy istnieje lepszy sposób. Dzięki – Peter

Odpowiedz

Powiązane problemy