Imprimir

 

{code}

/* Código para ejecutar el hilo desde el programa principal:
 *
 *      Hilo hilo1 = new Hilo();
 *      hilo1.setPausa(5000);  //Indicar el tiempo deseado en milisegundos
 *      hilo1.start();
 *
 */

/* Para terminar el hilo:
 *
 *      hilo1.terminar();
 *
 */

public class Hilo implements Runnable
{
    private boolean terminar = false;
    private Thread hilo;
    private int pausa = 1000;  // 1 segundo de pausa

    public Hilo()
    {
         hilo=new Thread(this);
    }

    public void proceso()
    {
        //ESCRIBIR AQUÍ EL CÓDIGO DEL PROCESO
        //   QUE DEBE REALIZAR EL HILO DE EJECUCION        
    }
    
    //Método que permite cambiar el tiempo de pausa
    public void setPausa(int pausa)
    {
        this.pausa = pausa;
    }

    //Método que permite finalizar la ejecución del hilo
    public void terminar ()
    {
        this.terminar = true;
    }

    //Método que debe contener el proceso que se quiere ejecutar
    //Se ejecutará automáticamente llamando al método start()
    public void run ()
    {
        do
        {
            //Ejecutar el proceso indicado en el método anterior
            this.proceso();
            //Pausar el proceso antes de la siguiente repetición
            try
            {
                Thread.sleep(pausa);  // Pausa en milisegundos
            }
            catch (Exception e)
            {
                // Tratamiento de la excepción
            }
        } while(!terminar);
    }
    
    //Método start que debe lanzar el hilo
    public void start()
    {
        this.hilo.start();
    }

}

{/code}

Fuentes: