Download creacion de hilos con herencia de thread y mediante interfaz runnable

Document related concepts
no text concepts found
Transcript
Benemérita Universidad Autónoma del
Estado de Puebla
Facultad de Cs. De la Computación
Programación Concurrente y Paralela
Practica de Laboratorio No. 1
Profr:
María del Carmen Cerón Garnica
Alumno:
Roberto Alejandro Bravo Arredondo
Matricula:
200824268
26 de agosto de 2011
Introducción
En esta práctica veremos que existen dos formas de crear hilos en java: por
herencia utilizando la clase Thread y utilizando la interfaz Runnable, podremos
también observar que sin herramientas para sincronizar la ejecución de cada hilo
éstos cada vez se ejecutaran aleatoriamente.
Objetivo
Esta práctica tiene como objetivo mostrarnos como crear dos hilos por medio del
método de herencia, y observar de qué manera se ejecutan estos hilos.
Código
Creación de hilos con Herencia:
import java.io.*;
class ThreadConHerencia extends Thread
{
String palabra;
public ThreadConHerencia (String _palabra)
{
palabra = _palabra;
}
public void run()
{
for(int i=0;i<10;i++)
System.out.println(palabra);
}
public static void main(String[] args)
{
Thread a = new ThreadConHerencia("hiloUno");
Thread b = new ThreadConHerencia("hiloDos");
Thread c = new ThreadConHerencia("hiloTres");
a.start();
b.start();
c.start();
System.out.println("Fin del hilo principal");
}
}
Creación de hilos con el método Runnable:
import java.io.*;
class ThreadConRunnable implements Runnable
{
String palabra;
public ThreadConRunnable (String _palabra)
{
palabra = _palabra;
}
public void run()
{
for(int i=0;i<10;i++)
System.out.println(palabra);
}
public static void main(String args[])
{
ThreadConRunnable a = new ThreadConRunnable("hiloUno");
ThreadConRunnable b = new ThreadConRunnable("hiloDos");
Thread t1 = new Thread(a);
Thread t2 = new Thread(b);
t1.start();
t2.start();
System.out.println("Fin del programa principal");
}
}
Corridas de los Programas
Conclusión
Pude apreciar que en cada corrida del programa los hilos se ejecutan
aleatoriamente, por ejemplo, en las capturas de pantalla de arriba el hilo principal
es el primero en terminar, y después se ejecutan los demás hilos, para ejecutar los
programas tuvimos que importar la clase de entrada/salida estándar de Java.
Reflexión Personal
En lo personal esta práctica me sirvió para entender y aprender la creación y
ejecución de hilos en Java, y que para que éstos se ejecuten con un orden
especifico necesitamos implementar mecanismos específicos, de lo contrario los
hilos se ejecutan aleatoriamente.