Threads

Páginas: 6 (1452 palabras) Publicado: 15 de noviembre de 2012
THREADS (HILOS)
* Conocidos también como procesos ligeros.
* Un thread es un flujo de ejecución secuencial dentro de un proceso.
* Un mismo proceso java puede tener
a). Un único thread (el thread principal) y por tanto se le llama monotarea.
b). Varios threads (por ejemplo el thread principal y el de gestión de eventos). Y por tanto se le llama monotarea.
* Casi todas lasclases referentes al manejo de threads se encuentran en el paquete java.lang.*
Implementando un thread(hilo)
* Existen dos técnicas para crear un thread.
* Heredar de la clase java.lang.Thread y sobreescribir el método run().
* Implementar la interfaz java.lang.Runnable (por tanto tenemos que implementar el método run()) y crear una instancia de la clase java.lang.Thread pasándoleel objeto que implementa java.lang.Runnable como parámetro.
* Normalmente se usará la opción Runnable cuando la clase que va a contener la lógica del thread ya herede de otra clase (Swing, Applets,.)
CICLO DE VIDA
* Un thread puede pasar por varios estados durante su vida.
Ejecutándose
Pausado o Parado
Muerto
* Existen distintos métodos que provocan las transiciones entre estosestados.

Crear un thread
* Para crear un Thread hay que instanciarlo llamando al constructor como en el resto de clases.
* Dependiendo de cómo hayamos implementado el thread se actuará de una forma u otra:

Si hereda de la clase java.lang.Thread, simplemente se instancia nuestra clase.
Si implementa el interfaz java.lang.Runnable, se instancia la clase java.lang.Thread pasándolecomo parámetro del constructor una instancia de nuestra clase.
Ejemplo
public class AplicHilo1 {
public static void main(String args[])
{
TortugaThread tortuga=new TortugaThread();
Thread liebre=new Thread(new LiebreThread());
}
}


MENUS:
Componentes java para menús: JMenuBar, JMenu, JMenuItem y JSeparator
Para construir una barra de menú tenemos estos componentes.
*JMenuBar. Es la barra de menú principal. Una barra horizontal alargada en la que se colocarán las distintas opciones. Si miras en tu navegador, arriba, verás una barra de estas con opciones como "Archivo", "Editar", etc.
* JMenu. Es una de las cosas que se pueden añadir a un JMenuBar o a otro JMenu. Cuando añadimos uno de estos, tendremos un algo que al pinchar despliega un nuevo menú. Si en tunavegador, arriba donde pone "Archivo" pinchas con el ratón, verás que se despliega un menú con más opciones como "Abrir", "Guardar como", etc. Este "Archivo" si estuviera hecho en java sería un JMenu, ya que al pincharlo no hace nada, sólo despliega otro menú. Si añades unJMenu dentro de otro, tendrás un nuevo submenú que se despliega. Por ejemplo, si miras abajo en tu windows, en el botón de"Inicio" de abajo a la izquierda, lo pinchas y sale un menú. Ese "Inicio" sería un JMenu si estuviese hecho en java. En las opciones que despliega, ves que "Programas" tiene una flechita a la deracha. Poniendo ahí el ratón sale otro nuevo menú. Eso quiere decir que "Programas" también sería un JMenu que está dentro de JMenu "Inicio".
* JMenuItem. Por fin, este es el currito. Es el que cuando lopinchas hace algo útil, como "guardar como", "abrir", etc.
* JSeparator. Este sólo sirve para poner una rayita y separar varios JMenuItem. Por ejemplo, dentro de "Editar", las opciones "Copiar", "Cortar" y "Pegar" suelen estar separadas con rayitas de otras opciones en el mismo menú. Estos son los JSeparator.
Poner acciones en los JMenuItem
Para que un JMenuItem haga algo, al crearlo hay quepasarle una clase que implemente la interface Action. Esta clase debe tener un método actionPerformed() que es el que se ejecutará cuando se pinche con el ratón en esa opción de menú.
public class MiAccionDeMenu implements Action
{
   ...
   public void actionPerformed (ActionEvent e)
   {
      // Aquí lo que queremos que haga esa opción de menú.
   } 
}
...
MiAccionDeMenu miAccion = new...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Threads
  • Hilos (threads)
  • Threads
  • Threads
  • Threads
  • Threads
  • Proyecto pelota threads
  • Threads (hilos) java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS