Ejecutar en segundo plano usando hilos (runnable)
2007-07-05 02:33:01
En Java, existen tres formas principales para ejecutar tareas en segundo plano: heredar la clase Thread, implementar la interfaz Runnable y la clase TimerTask.
En este segundo ejemplo os muestro la segunda variante, que es la implementación de la interfaz Runnable, que es practicamente igual que heredar de Thread. ¿Que sentido tiene, entonces? Pues muy sencillo, en Java solo se puede heredar de una clase, así que si nuestra tarea hereda de alguna otra, tendriamos que descartar el método de la clase Thread. Pero podemos, además de heredar, implementar una interfaz, y ahí entra Runnable.
El código es muy sencillo, y muy similar al ejemplo de Thread. Observad que usamos implement y no extends en la llamada de la clase.
public class ThreadSample implements Runnable{
public void run()
{
for (int i = 0; i < 5000 ; i++)
System.out.println(i + " " + Thread.currentThread().getName());
System.out.println("End of thread " + Thread.currentThread().getName());
}
public static void main (String [] args) {
new Thread ( new ThreadSample() , "+").start();
new Thread ( new ThreadSample() , "-").start();
new Thread ( new ThreadSample() , ":").start();
new Thread ( new ThreadSample() , "*").start();
}
}