Вы находитесь на странице: 1из 85

ING.CIP .

IVAN PETRLIK AZABACHE

Existen dos formas de crear un thread:


A) UTILIZANDO LA HERENCIA HACIA LA CLASE THREAD

B) UTILIZADO LA IMPLEMENTACION DE LA INTERFAZ RUNNABLE

public class TortugaThread extends Thread { public void run() { int i=0; System.out.println("Comienza la tortuga.."); while(i<5) { try { Thread.sleep(5000); System.out.println("Tortuga.."); } catch( Exception e ){ } i++; } System.out.println("Termina la tortuga"); }
public static void main(String args[]) { Tortuga Thread Hilotortuga=new TortugaThread(); Hilotortuga.start(); } }

public class LiebreThread implements Runnable { public void run() { int i=0; System.out.println("Comienza la Liebre.."); while(i<5) try { {

Thread.sleep(2000); System.out.println("Liebre..."); } catch( Exception e ){ } i++; } System.out.println("Termina la Liebre."); }


public static void main(String args[]) {
Thread Hiloliebre=new Thread(new LiebreThread()); Hiloliebre.start();

} }

public class TortugaThread extends Thread {

public class LiebreThread implements Runnable {

public void run() { int i=0; System.out.println("Comienza la tortuga.."); while(i<5) { try { Thread.sleep(5000);

public void run() { int i=0; System.out.println("Comienza la liebre.."); while(i<5) { try { Thread.sleep(2000); System.out.println("Liebre.."); } catch(Exception ex){ } i++; } System.out.println("Termina la liebre"); } }

System.out.println("Tortuga.."); } catch(Exception ex ){ } i++; } System.out.println("Termina la tortuga");


} }

public class AplicHilo1 {

public static void main(String args[]) TortugaThread Thread

tortuga=new TortugaThread(); liebre=new Thread( new LiebreThread() ); tortuga.start(); liebre.start();

Se pide desarrollar un programa en Java que me permita a travs de un hilo, ejecutar un proceso que contabilice numeros desde el 1 hasta el 10 y vaya mostrando por pantalla dichos numeros ,la cual tenga un tiempo de retardo de 1000 milisegundos en pasar de un numero al otro . a) construir un hilo a travs de la herencia b) construir un hilo a travs de la implementacin a Runnable

Duerme(retardo) el proceso en 1000 milisegundo

Duerme(retardo) el proceso en 1000 milisegundo

Se pide desarrollar un programa en Java que me permita a travs de un hilo, ejecutar un proceso de tiempo en segundos , donde al cabo de cierto tiempo(segundos) ingresado por teclado pueda mostrar un mensaje de la siguiente manera : EL TIEMPO ES X MIN CON Y SEG a) construir un hilo a travs de la herencia b) construir un hilo a travs de la implementacin a Runnable

Se pide desarrollar un programa en Java que me permita a travs de dos hilos, no sincronizados mostrar una serie de mensajes como nos muestra en la siguiente figura :

En funcion al Ejemplo 03 , desarrollar un programa en un formulario donde se muestre lo siguiente :

Ventana principal donde inicio el Hilo , paro el Hilo

Clase donde se implementa el metodo run() y ademas se ejecuta el programa

Ahora vamos a crear la clase Hilo

Los hilos pueden utilizar objetos comunes y manipularlos de forma independiente. El acceso a las regiones crticas se controla con los mtodos synchronized. Un mtodo synchronized de un objeto slo puede ser ejecutado por un nico hilo en cada momento. El envo y recepcin de seales entre los hilos se realiza con los mtodos wait(), notify() y notifyAll(), y esto se complementa implementando un metodo synchronized

public synchronized int obtener(){ }

public synchronized void aadir(int num){ }

Funcionamiento: - El escritor escribe 5 datos - El lector lee 5 datos - Se debe leer cada dato escrito

Funcionamiento: - adiciona un numero a un arreglo con un espacio de memoria , mientras que el que extrae esta bloqueado - Terminado la adicion de dicho numero , el que extrae se habilita y captura el numero de ese arreglo , mientras que el que adiciona esta bloqueado, sincronizad amente

PRESIONAR INICIAR HILO

El Programa consiste en un hilo que cuenta el tiempo transcurrido, al cabo de 60 segundos cuenta el primer minuto ,donde se tendr que desarrollar en un formulario , los mensajes del tiempo que estarn contenidos dentro de paneles (JPanel p1 ,p2 ) y Etiquetas (Jlabel l1 , l2 )donde se imprime los mensajes , a continuacin vamos a explicar el contenido del diseo

JLabel l1;

JPanel p1;

JLabel l2;

JPanel p2;

Estos Paneles(p1 ,p2) se tienen que alternar para actualizar los datos(l1 ,l 2) del tiempo transcurrido , adems existe un botn donde automticamente se tiene que detener el hilo

Вам также может понравиться