You are on page 1of 3

Alumno Andrs Arturo Lpez Cruz

Profesor Jos Giovanni Ortega Tostado

Asignatura Programacin Orientada a Objetos

Investigacin Threads

Qu es un hilo? Un hilo es un proceso que se est ejecutando en un momento determinado en nuestro sistema operativo, como cualquier otra tarea, esto se realiza directamente en el procesador. Una caracterstica importante de los hilos es que no pueden ejecutarse solos, necesitan la supervisin de proceso padre para poder correr. Los hilos a menudo son conocidos o llamados procesos ligeros. Un hilo, en efecto, es muy similar a un proceso pero con la diferencia de que un hilo siempre corre dentro del contexto de otro programa. Por el contrario, los procesos mantienen su propio espacio de direcciones y entorno de operaciones. Los hilos dependen de un programa padre en lo que se refiere a recursos de ejecucin. Multitarea y Multihilo Multitarea (Multitasking) es la habilidad de un nico procesador de dar la apariencia de estar realizando varias tareas a la vez. Lo que en realidad ocurre, es que el procesador cambia de una tarea a otra tan rpidamente, que pareciera estar realizando todas las tareas al mismo tiempo. Multihilos (Multithreading) consiste en dividir el trabajo de un programa en diferentes hilos de ejecucin. Los hilos pueden correr en procesadores separados, incrementando de esta manera el desempeo de la aplicacin. Clase Thread Para trabajar con Threads se utiliza la clase Thread, de paquete java.lang. Constructores: Thread() Crear un thread con nombre Thread-+n Thread(String name) Crea un thread con el nombre indicado. Thread(Runnable target) Crea un thread asociado al objeto destino. Mtodos static Thread currentThread() Devuelve el thread en curso. String getName() void setName(String name) int getPriority() void setPriority(int newPriority) Asigna prioridades relativas ThreadGroup getThreadGroup() void run()

Ejemplo de uso de hilos Main


public static void main(String[] args) { // TODO Auto-generated method stub Proceso hilo1 = new Proceso("Hilo 1"); Proceso hilo2 = new Proceso("Hilo 2"); hilo1.setMensaje("Este es el mensaje del hilo 1"); hilo2.setMensaje("Mensaje hilo 2"); hilo1.start(); hilo2.start(); }

Clase proceso
public class Proceso extends Thread{ String mensaje; public Proceso(String msg) { super(msg); } public void run() { for(int i =0;i<15;i++) { System.out.println(mensaje); } System.out.println("Este proceso ha terminado:"+this.getName()); } public void setMensaje(String msj) { this.mensaje = msj; } }

Referencias http://boards5.melodysoft.com/M03/diferencia-entre-multitarea-y-multihilo-66.html http://zarza.usal.es/~fgarcia/docencia/poo/01-02/trabajos/S3T3.pdf http://monillo007.blogspot.com/2008/01/hilos-en-java-threads-parte-1.html

You might also like