parar un thread

atari
15 de Febrero del 2006
Hola, tengo un problema , al intentar parar un thread ,
lo q pretendo es ejecutar el metodo run y si ocurre un evento, parar este codigo y volver a ejecutar de nuevo el metodo run, lo he intentadode varias formas pero la unica q me es valida es utilizando el metodo stop, aunque en algunos textos este metodo es obsoleto y poco adecuado, asi q lo intente por la inclusion de banderas (flags) e implementar un metodo end() en el cual se tenga control sobre dichas banderas, pero el problema viene aki, ya q al intentar utilizar este metodo en un main, al compilar dice q no existe el metodo.
saludos

chuidiang
15 de Febrero del 2006
Hola:

Haz algo como esto

class MiRunnables implements Runnable()
{
public void run ()
{
while (true)
// aqui algo del codigo
if (terminar) return;
}
public boolean terminar=false;
}

Luego, para arrancarlo en un hilo

MiRunnable miRun = new MiRunnable();
Thread hilo = new Thread(miRun);
hilo.start();

Cuando quieras pararlo, simplmente haz

miRun.terminar=true;

Esto último, para ser más mejor, puedes hacerlo a través de un método en MiRunnable.

Se bueno.