Hilos java

Solo disponible en BuenasTareas
  • Páginas : 2 (344 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de marzo de 2011
Leer documento completo
Vista previa del texto
Hilos:
A veces necesitamos que nuestro programa Java realice varias cosas simultáneamente. Otras veces tiene que realizar una tarea muy pesada, por ejemplo, consultar la lista de numeros telefónicotodos los nombres de empleados que tengan la letra n, que tarda mucho y no deseamos que todo se quede parado mientras se realiza dicha tarea. Para conseguir que Java haga varias cosas a la vez o queel programa no se quede parado mientras realiza una tarea compleja, tenemos los hilos (Threads).

La forma sencilla de crear un hilo en java es simplemente heredar de la clase Thread y definir elmétodo run(). Luego se instancia esta clase y se llama al método start() para que arranque el hilo. Más o menos esto

public MiHilo extends Thread
{
   public void run()
   {
      // Aquí el códigopesado que tarda mucho
   } 
};
...
MiHilo elHilo = new MiHilo();
elHilo.start();
System.out.println("Inicia el hilo");
 En el método run()pondremos el código que queremos que se ejecute enun hilo separado. Luego instanciamos el hilo con un new MiHilo() y lo arrancamos con elHilo.start().

III. CICLO DE VIDA DE UN THREAD:
El inicio de este ciclo empieza con la instancia de la clasethread, es decir se crea un nuevo thread que está en su estado inicial; en este estado es solo un objeto más.
No existe el thread en ejecución. El único método que puede invocarse sobre él
es el métodoStart().
Al invocarse éste sobre el hilo el sistema crea los recursos necesarios, lo planifica (le asigna prioridad)y luego llama al método run(). En este momento el hilo está corriendo se encuentraen estado runnable (ejecutable).
Si el método run() invoca internamente el método sleep() o wait() o el hilo tiene que esperar por una operación de entrada/salida, entonces el hilo pasa al estado norunnable(no ejecutable) hasta que la condición de espera finalice.Durante este tiempo el sistema puede ceder control a otros hilos activos.
Por último cuando el método run finaliza el hilo...
tracking img