2012-04-17 23 views
6

Acabo de notar que suspender y reanudar en el enhebrado de Android ha quedado en desuso. ¿Cuál es el trabajo para esto o cómo puedo suspender y reanudar un hilo en Android?Cómo suspender y reanudar los subprocesos en android?

+0

¿qué hay de servicio: http://developer.android.com/ guide/topics/fundamentals/services.html – Leo

+0

Hola LeoLink No creo que los servicios solucionen mi problema. gracias anywyays :) – rosesr

Respuesta

7

De hecho, suspender o detener subprocesos en puntos aleatorios es una idea insegura, por lo que estos métodos están en desuso.

Lo mejor que puede hacer en mi opinión es tener puntos fijos de una pausa en el método de su hilo run y detener allí utilizando wait:

class ThreadTask implements Runnable { 

    private volatile boolean paused; 
    private final Object signal = new Object(); 

    public void run() { 
     // some code 

     while(paused) { // pause point 1 
      synchronized(signal) signal.wait(); 
     } 

     // some other code 

     while(paused) { // pause point 2 
      synchronized(signal) signal.wait(); 
     } 

     // ... 
    } 

    public void setPaused() { 
     paused = true;  
    } 

    public void setUnpaused() { 
     paused = false; 
     synchronized(signal) signal.notify(); 
    } 
} 
+0

Oh ok Lo entiendo ahora @Tudor. Por cierto, otra aclaración es similar a la señalización en los hilos? – rosesr

+1

@rosesr: Es similar a las variables de condición en Linux, por ejemplo. – Tudor

Cuestiones relacionadas