SlideShare una empresa de Scribd logo
BENEMERITA UNIVERSIDAD
 AUTONOMA DE PUEBLA




 FACULTAD DE CIENCIAS
  DE LA COMPUTACION




  PROGRAMACION CONCURRENTE Y PARALELA




              MONITORES
LEZAMA SANCHEZ ANA LAURA
                                                   VALENCIA TOXQUI HUMBERTO




INTRODUCCION

El siguiente reporte describe los programas presentados el 20 de enero de
2012

DESARROLLO

1.-Programa que imprime la palabra HOLA pero en una ventana grafica usando
el paquete que importa los componentes graficos import javax.swing.*; y
declarando la clase hola que implementa una ventana principal sencilla que
contiene una etiqueta.

Código:

import javax.swing.*;

//seccion creacion de la clase ventanal

public class hola extends JFrame

{

      private JLabel label1;

      public hola(){

            setLayout(null);

     label1=new JLabel("HOLA");

     label1.setBounds(100,100,300,30);
add(label1);

      }



      public static void main(String args[])

      {

             //area de definicion de propiedades del objeto




             hola hola1=new hola();

     hola1.setBounds(10,10,300,300);

     hola1.setVisible(true);



      }

}

Pantalla de la corrida:




***********************************************************
2.-El programa a) imprime el grafo del ejercicio elaborado en clase, con las
condiciones de Bernstein, este primero es la clase Grafohilo con herencia y
usando 5 hilos, uno por cada nodo del grafo y la instrucción sleep,el programa
b) imprime lo mismo, usa el mismo número de hilos y sleep, pero usando
Runnable(interfaz)

Gráficamente el grafo quedo de la siguiente forma:




           S1           S3


                   S2


                           S4




                             S5




      a)Codigo(herencia)

      //con herencia

       class Grafohilo extends Thread

      {

            String palabra;

            public int duerme;
public Grafohilo(String _palabra,int mili)

      {

              palabra=_palabra;

              duerme=mili;

  }

  public void run()

  {

      try

              {

                   Thread.sleep(duerme);

                   System.out.println(palabra);

          }

          catch(InterruptedException e){}

  }

  public static void main(String args[])

  {

      Grafohilo s1=new Grafohilo("hilo1",1000);

      Grafohilo s2=new Grafohilo("hilo2",2000);

      Grafohilo s3=new Grafohilo("hilo3",1000);

      Grafohilo s4=new Grafohilo("hilo4",3000);

      Grafohilo s5=new Grafohilo("hilo5",4000);



      Thread t1=new Thread(s1);

      Thread t2=new Thread(s2);

      Thread t3=new Thread(s3);

      Thread t4=new Thread(s4);
Thread t5=new Thread(s5);



          t1.start();

      t2.start();

      t3.start();

      t4.start();

      t5.start();

      }

}



a)salida




**********************************************************



b)código(interfaz)

//CON INTERFAZ

public class Grafohilo implements Runnable

{

          String palabra;

          public int duerme;



    public Grafohilo(String _palabra,int mili)
{

            palabra=_palabra;

            duerme=mili;

}

public void run()

{

    try

            {

                 Thread.sleep(duerme);

                 System.out.println(palabra);

        }

        catch(InterruptedException e){}

}

public static void main(String args[])

{

    Grafohilo s1=new Grafohilo("hilo1",1000);

    Grafohilo s2=new Grafohilo("hilo2",2000);

    Grafohilo s3=new Grafohilo("hilo3",1000);

    Grafohilo s4=new Grafohilo("hilo4",3000);

    Grafohilo s5=new Grafohilo("hilo5",4000);



    Thread t1=new Thread(s1);

    Thread t2=new Thread(s2);

    Thread t3=new Thread(s3);

    Thread t4=new Thread(s4);

    Thread t5=new Thread(s5);
t1.start();

           t2.start();

           t3.start();

           t4.start();

           t5.start();

           }

      }




      b)Salida




      ******************************************************



      3.-Los siguientes programas:

      a) Empezando a usar hilos con herencia :programa que lanza 2 hilos y
hace que se imprima 10 veces la palabra hiloUno(siendo este el primer hilo) y
10 veces la palabra hiloDos(siendo este el segundo hilo)

      código

      class ThreadConHerencia extends Thread

      {

               String palabra;

               public ThreadConHerencia (String _palabra)
{

                             palabra =_palabra;

                       }



                       public void run()

                             {

                                     for (int i=0; i<10; i++)

                                           System.out.print (palabra);

               }



               public static void main(String[] args)

                       {

                             Thread a = new ThreadConHerencia ("hiloUno");

                        Thread b = new ThreadConHerencia ("hiloDos");

                        a.start();

                        b.start();

                        System.out.println ("Fin del hilo principal");

                   }

      }

      Salida




***************************************************************

b) Empezando a usar hilos con interfaz : programa con Runnable que lanza 2
hilos y hace que se imprima 10 veces la palabra hiloUno(siendo este el primer
hilo) y 10 veces la palabra hiloDos(siendo este el segundo hilo).
Código:

public 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 hilo principal");

                  }

}

Salida:




*********************************************************



4.-Prioridad con herencia e interfaz: programa que arroja que hilo tiene la
prioridad mas alta, media o baja, el nombre del hilo, si es hilo demonio y si
determinado hilo esta vivo

a) con herencia

código

public class A extends Thread

{

      String palabra;
public A (String _palabra)

        {

              palabra = _palabra;

}

public void run ()

{

        for (int i=0;i<100;i++)

              System.out.println (palabra);

    }



            public static void main (String args[])

              {

                     /*A a1 = new A("a1");

                     A a2 = new A("a2");

                     A a3 = new A("a3");

                     A a4 = new A("a4");

                     A a5 = new A("a5");*/



                     Thread t1 = new Thread ("a1");

                     Thread t2 = new Thread ("a2");

                     Thread t3 = new Thread ("a3");

                     Thread t4 = new Thread ("a4");

                  Thread t5 = new Thread ("a5");



                  t1.setPriority(10);

                     t2.setPriority(5);
t3.setPriority(1);

                            t4.setDaemon(true);

                            t5.setName("HILO");



                            System.out.println ("Prioridad de t1:
"+t1.getPriority());

                            System.out.println ("Prioridad de t2:
"+t2.getPriority());

                            System.out.println ("Prioridad de t3:
"+t3.getPriority());

                         System.out.println ("¿El hilo t4 es un hilo demonio?
"+t4.isDaemon());

                            System.out.println ("Nombre del hilo
t5:"+t5.getName());

                            System.out.println ("¿El hilo t4 esta
vivo?:"+t4.isAlive());



                            t1.start();

                            t2.start();

                            t3.start();

                            t4.start();

                            t5.start();




                    }

}

Salida
***************************************************************

b)prioridad con interfaz

código

//con interfaz

public class A implements Runnable

{

      String palabra;

      public A (String _palabra)

              {

                    palabra = _palabra;

     }

     public void run ()

      {

              for (int i=0;i<100;i++)

                    System.out.println (palabra);

          }



                  public static void main (String args[])

                    {

                           A a1 = new A("a1");

                           A a2 = new A("a2");
A a3 = new A("a3");

                            A a4 = new A("a4");

                            A a5 = new A("a5");



                            Thread t1 = new Thread (a1);

                            Thread t2 = new Thread (a2);

                            Thread t3 = new Thread (a3);

                            Thread t4 = new Thread (a4);

                         Thread t5 = new Thread (a5);



                         t1.setPriority(10);

                            t2.setPriority(5);

                            t3.setPriority(1);

                            t4.setDaemon(true);

                            t5.setName("HILO");



                            System.out.println ("Prioridad de t1:
"+t1.getPriority());

                            System.out.println ("Prioridad de t2:
"+t2.getPriority());

                            System.out.println ("Prioridad de t3:
"+t3.getPriority());

                         System.out.println ("¿El hilo t4 es un hilo demonio?
"+t4.isDaemon());

                            System.out.println ("Nombre del hilo
t5:"+t5.getName());

                            System.out.println ("¿El hilo t4 esta
vivo?:"+t4.isAlive());
t1.start();

             t2.start();

             t3.start();

             t4.start();

             t5.start();




         }

}

Salida




.

.
.
Conclusión

Los anteriores programas me ayudaron a recordar la herencia en java, aprendí
a usar Runnable, aunque en el programa de prioridad me quedo duda ya que
en la parte de herencia el JCreator no me permitió dejar de crear objetos como
en interfaz.

Realizando el resumen quedo un poco más claro, el concepto de hilo y como
usarlo, me ayudo a aclarar conceptos del propio lenguaje tales como manejar
.get, .set, el uso de los vectores, como crear las ventanas con JFrame y los
applets.

Espero con los siguientes laboratorios aprender más sobre la materia y
terminar de comprender los conceptos aquí tratados.



Bibliografía

http://www.cs.buap.mx/~mceron/principal_con.html

Más contenido relacionado

La actualidad más candente

Python workshop
Python workshopPython workshop
Programacion en python_2
Programacion en python_2Programacion en python_2
Programacion en python_2
wozgeass
 
La torre de hanoi segundo lab
La torre de hanoi segundo labLa torre de hanoi segundo lab
La torre de hanoi segundo lab
Isus Villa
 
4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario
Laura Folgado Galache
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
José Antonio Sandoval Acosta
 
Sincronizar Threads
Sincronizar ThreadsSincronizar Threads
Sincronizar Threads
jubacalo
 
Tarea sesion 08_gottlieb
Tarea sesion 08_gottliebTarea sesion 08_gottlieb
Tarea sesion 08_gottlieb
Gotlieb Estiven Vasquez Flores
 
Lab
LabLab
Lab
yito24
 
2- TDA Listas
2- TDA Listas2- TDA Listas
Blind X Path Injection
Blind X Path InjectionBlind X Path Injection
Blind X Path Injection
Chema Alonso
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
jubacalo
 
Creacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeansCreacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeans
Leonel Martinez Carrion
 
Fourier
FourierFourier
Fourier
DC FCP
 
Curso de Python
Curso de PythonCurso de Python
Curso de Python
Washington Bastidas
 
Java 8
Java 8Java 8
Java 8
BVision
 
Reporte viernes 24
Reporte viernes 24Reporte viernes 24
Reporte viernes 24
Antares Zehcnas
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009
Pepe
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
Fco Javier Lucena
 
Practica 2
Practica 2Practica 2
Practica 2
Isul Anlu
 
Ejercicios con Python parte 05
Ejercicios con Python parte 05Ejercicios con Python parte 05
Ejercicios con Python parte 05
Facultad de Ciencias y Sistemas
 

La actualidad más candente (20)

Python workshop
Python workshopPython workshop
Python workshop
 
Programacion en python_2
Programacion en python_2Programacion en python_2
Programacion en python_2
 
La torre de hanoi segundo lab
La torre de hanoi segundo labLa torre de hanoi segundo lab
La torre de hanoi segundo lab
 
4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
 
Sincronizar Threads
Sincronizar ThreadsSincronizar Threads
Sincronizar Threads
 
Tarea sesion 08_gottlieb
Tarea sesion 08_gottliebTarea sesion 08_gottlieb
Tarea sesion 08_gottlieb
 
Lab
LabLab
Lab
 
2- TDA Listas
2- TDA Listas2- TDA Listas
2- TDA Listas
 
Blind X Path Injection
Blind X Path InjectionBlind X Path Injection
Blind X Path Injection
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
Creacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeansCreacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeans
 
Fourier
FourierFourier
Fourier
 
Curso de Python
Curso de PythonCurso de Python
Curso de Python
 
Java 8
Java 8Java 8
Java 8
 
Reporte viernes 24
Reporte viernes 24Reporte viernes 24
Reporte viernes 24
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Practica 2
Practica 2Practica 2
Practica 2
 
Ejercicios con Python parte 05
Ejercicios con Python parte 05Ejercicios con Python parte 05
Ejercicios con Python parte 05
 

Destacado

St. Petersburg
St. PetersburgSt. Petersburg
St. Petersburg
laurahill
 
Laura Hakimi - Mobile English language learning for disadvantaged urban youth...
Laura Hakimi - Mobile English language learning for disadvantaged urban youth...Laura Hakimi - Mobile English language learning for disadvantaged urban youth...
Laura Hakimi - Mobile English language learning for disadvantaged urban youth...
The Learning and New Technologies Group, Department of Education, Oxford University
 
Blog Laura Fresno
Blog Laura FresnoBlog Laura Fresno
Blog Laura Fresno
laurafresno84
 
Martínez contreras laura
Martínez contreras lauraMartínez contreras laura
Martínez contreras laura
Lau Contreras
 
Mapa conceptual. Laura Campos
Mapa conceptual. Laura CamposMapa conceptual. Laura Campos
Mapa conceptual. Laura Campos
LAURA2755
 
Unit 5 - Columbus ppt.
Unit 5 - Columbus ppt.Unit 5 - Columbus ppt.
Unit 5 - Columbus ppt.
loganmw
 
Capitulo 8 9-10
Capitulo 8 9-10Capitulo 8 9-10

Destacado (7)

St. Petersburg
St. PetersburgSt. Petersburg
St. Petersburg
 
Laura Hakimi - Mobile English language learning for disadvantaged urban youth...
Laura Hakimi - Mobile English language learning for disadvantaged urban youth...Laura Hakimi - Mobile English language learning for disadvantaged urban youth...
Laura Hakimi - Mobile English language learning for disadvantaged urban youth...
 
Blog Laura Fresno
Blog Laura FresnoBlog Laura Fresno
Blog Laura Fresno
 
Martínez contreras laura
Martínez contreras lauraMartínez contreras laura
Martínez contreras laura
 
Mapa conceptual. Laura Campos
Mapa conceptual. Laura CamposMapa conceptual. Laura Campos
Mapa conceptual. Laura Campos
 
Unit 5 - Columbus ppt.
Unit 5 - Columbus ppt.Unit 5 - Columbus ppt.
Unit 5 - Columbus ppt.
 
Capitulo 8 9-10
Capitulo 8 9-10Capitulo 8 9-10
Capitulo 8 9-10
 

Similar a Entrega de reporte no 1, lab 1

Apache Storm: Desarrollo
Apache Storm: DesarrolloApache Storm: Desarrollo
Apache Storm: Desarrollo
Stratebi
 
Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01
Leonel Martinez Carrion
 
Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01
Leonel Martinez Carrion
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
edgar muñoz
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
cursobeta
 
Guia para examen java
Guia para examen javaGuia para examen java
Guia para examen java
tecno5
 
Chap 15bpin
Chap 15bpinChap 15bpin
Chap 15bpin
Alvaro Pino
 
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
Reporte de grafos con semagforos de 3,3,4 y 6 procesosReporte de grafos con semagforos de 3,3,4 y 6 procesos
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
Antares Zehcnas
 
Herencia encapsulación polimorfismo
Herencia encapsulación polimorfismoHerencia encapsulación polimorfismo
Herencia encapsulación polimorfismo
Fernando Solis
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
TAtiizz Villalobos
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
Fernando Solis
 
2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)
ElielMauricioEscobar
 
Java
JavaJava
Threads en java
Threads en javaThreads en java
Threads en java
jent46
 
Threads en Java
Threads en JavaThreads en Java
Threads en Java
Ronny Parra
 
Hilos
HilosHilos
Hilos
johanna20
 
Java
JavaJava
Java
jbersosa
 
Ordenamiento shell
Ordenamiento shellOrdenamiento shell
Ordenamiento shell
Angel Duarte
 
Multitarea e hilos en java con ejemplos
Multitarea e hilos en java con ejemplosMultitarea e hilos en java con ejemplos
Multitarea e hilos en java con ejemplos
Carlos Anibal Riascos Hurtado
 
Ejercicios tema1
Ejercicios tema1Ejercicios tema1

Similar a Entrega de reporte no 1, lab 1 (20)

Apache Storm: Desarrollo
Apache Storm: DesarrolloApache Storm: Desarrollo
Apache Storm: Desarrollo
 
Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01
 
Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
 
Guia para examen java
Guia para examen javaGuia para examen java
Guia para examen java
 
Chap 15bpin
Chap 15bpinChap 15bpin
Chap 15bpin
 
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
Reporte de grafos con semagforos de 3,3,4 y 6 procesosReporte de grafos con semagforos de 3,3,4 y 6 procesos
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
 
Herencia encapsulación polimorfismo
Herencia encapsulación polimorfismoHerencia encapsulación polimorfismo
Herencia encapsulación polimorfismo
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)
 
Java
JavaJava
Java
 
Threads en java
Threads en javaThreads en java
Threads en java
 
Threads en Java
Threads en JavaThreads en Java
Threads en Java
 
Hilos
HilosHilos
Hilos
 
Java
JavaJava
Java
 
Ordenamiento shell
Ordenamiento shellOrdenamiento shell
Ordenamiento shell
 
Multitarea e hilos en java con ejemplos
Multitarea e hilos en java con ejemplosMultitarea e hilos en java con ejemplos
Multitarea e hilos en java con ejemplos
 
Ejercicios tema1
Ejercicios tema1Ejercicios tema1
Ejercicios tema1
 

Entrega de reporte no 1, lab 1

  • 1. BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACION PROGRAMACION CONCURRENTE Y PARALELA MONITORES
  • 2. LEZAMA SANCHEZ ANA LAURA VALENCIA TOXQUI HUMBERTO INTRODUCCION El siguiente reporte describe los programas presentados el 20 de enero de 2012 DESARROLLO 1.-Programa que imprime la palabra HOLA pero en una ventana grafica usando el paquete que importa los componentes graficos import javax.swing.*; y declarando la clase hola que implementa una ventana principal sencilla que contiene una etiqueta. Código: import javax.swing.*; //seccion creacion de la clase ventanal public class hola extends JFrame { private JLabel label1; public hola(){ setLayout(null); label1=new JLabel("HOLA"); label1.setBounds(100,100,300,30);
  • 3. add(label1); } public static void main(String args[]) { //area de definicion de propiedades del objeto hola hola1=new hola(); hola1.setBounds(10,10,300,300); hola1.setVisible(true); } } Pantalla de la corrida: ***********************************************************
  • 4. 2.-El programa a) imprime el grafo del ejercicio elaborado en clase, con las condiciones de Bernstein, este primero es la clase Grafohilo con herencia y usando 5 hilos, uno por cada nodo del grafo y la instrucción sleep,el programa b) imprime lo mismo, usa el mismo número de hilos y sleep, pero usando Runnable(interfaz) Gráficamente el grafo quedo de la siguiente forma: S1 S3 S2 S4 S5 a)Codigo(herencia) //con herencia class Grafohilo extends Thread { String palabra; public int duerme;
  • 5. public Grafohilo(String _palabra,int mili) { palabra=_palabra; duerme=mili; } public void run() { try { Thread.sleep(duerme); System.out.println(palabra); } catch(InterruptedException e){} } public static void main(String args[]) { Grafohilo s1=new Grafohilo("hilo1",1000); Grafohilo s2=new Grafohilo("hilo2",2000); Grafohilo s3=new Grafohilo("hilo3",1000); Grafohilo s4=new Grafohilo("hilo4",3000); Grafohilo s5=new Grafohilo("hilo5",4000); Thread t1=new Thread(s1); Thread t2=new Thread(s2); Thread t3=new Thread(s3); Thread t4=new Thread(s4);
  • 6. Thread t5=new Thread(s5); t1.start(); t2.start(); t3.start(); t4.start(); t5.start(); } } a)salida ********************************************************** b)código(interfaz) //CON INTERFAZ public class Grafohilo implements Runnable { String palabra; public int duerme; public Grafohilo(String _palabra,int mili)
  • 7. { palabra=_palabra; duerme=mili; } public void run() { try { Thread.sleep(duerme); System.out.println(palabra); } catch(InterruptedException e){} } public static void main(String args[]) { Grafohilo s1=new Grafohilo("hilo1",1000); Grafohilo s2=new Grafohilo("hilo2",2000); Grafohilo s3=new Grafohilo("hilo3",1000); Grafohilo s4=new Grafohilo("hilo4",3000); Grafohilo s5=new Grafohilo("hilo5",4000); Thread t1=new Thread(s1); Thread t2=new Thread(s2); Thread t3=new Thread(s3); Thread t4=new Thread(s4); Thread t5=new Thread(s5);
  • 8. t1.start(); t2.start(); t3.start(); t4.start(); t5.start(); } } b)Salida ****************************************************** 3.-Los siguientes programas: a) Empezando a usar hilos con herencia :programa que lanza 2 hilos y hace que se imprima 10 veces la palabra hiloUno(siendo este el primer hilo) y 10 veces la palabra hiloDos(siendo este el segundo hilo) código class ThreadConHerencia extends Thread { String palabra; public ThreadConHerencia (String _palabra)
  • 9. { palabra =_palabra; } public void run() { for (int i=0; i<10; i++) System.out.print (palabra); } public static void main(String[] args) { Thread a = new ThreadConHerencia ("hiloUno"); Thread b = new ThreadConHerencia ("hiloDos"); a.start(); b.start(); System.out.println ("Fin del hilo principal"); } } Salida *************************************************************** b) Empezando a usar hilos con interfaz : programa con Runnable que lanza 2 hilos y hace que se imprima 10 veces la palabra hiloUno(siendo este el primer hilo) y 10 veces la palabra hiloDos(siendo este el segundo hilo).
  • 10. Código: public 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);
  • 11. t1.start(); t2.start(); System.out.println ("Fin del hilo principal"); } } Salida: ********************************************************* 4.-Prioridad con herencia e interfaz: programa que arroja que hilo tiene la prioridad mas alta, media o baja, el nombre del hilo, si es hilo demonio y si determinado hilo esta vivo a) con herencia código public class A extends Thread { String palabra;
  • 12. public A (String _palabra) { palabra = _palabra; } public void run () { for (int i=0;i<100;i++) System.out.println (palabra); } public static void main (String args[]) { /*A a1 = new A("a1"); A a2 = new A("a2"); A a3 = new A("a3"); A a4 = new A("a4"); A a5 = new A("a5");*/ Thread t1 = new Thread ("a1"); Thread t2 = new Thread ("a2"); Thread t3 = new Thread ("a3"); Thread t4 = new Thread ("a4"); Thread t5 = new Thread ("a5"); t1.setPriority(10); t2.setPriority(5);
  • 13. t3.setPriority(1); t4.setDaemon(true); t5.setName("HILO"); System.out.println ("Prioridad de t1: "+t1.getPriority()); System.out.println ("Prioridad de t2: "+t2.getPriority()); System.out.println ("Prioridad de t3: "+t3.getPriority()); System.out.println ("¿El hilo t4 es un hilo demonio? "+t4.isDaemon()); System.out.println ("Nombre del hilo t5:"+t5.getName()); System.out.println ("¿El hilo t4 esta vivo?:"+t4.isAlive()); t1.start(); t2.start(); t3.start(); t4.start(); t5.start(); } } Salida
  • 14. *************************************************************** b)prioridad con interfaz código //con interfaz public class A implements Runnable { String palabra; public A (String _palabra) { palabra = _palabra; } public void run () { for (int i=0;i<100;i++) System.out.println (palabra); } public static void main (String args[]) { A a1 = new A("a1"); A a2 = new A("a2");
  • 15. A a3 = new A("a3"); A a4 = new A("a4"); A a5 = new A("a5"); Thread t1 = new Thread (a1); Thread t2 = new Thread (a2); Thread t3 = new Thread (a3); Thread t4 = new Thread (a4); Thread t5 = new Thread (a5); t1.setPriority(10); t2.setPriority(5); t3.setPriority(1); t4.setDaemon(true); t5.setName("HILO"); System.out.println ("Prioridad de t1: "+t1.getPriority()); System.out.println ("Prioridad de t2: "+t2.getPriority()); System.out.println ("Prioridad de t3: "+t3.getPriority()); System.out.println ("¿El hilo t4 es un hilo demonio? "+t4.isDaemon()); System.out.println ("Nombre del hilo t5:"+t5.getName()); System.out.println ("¿El hilo t4 esta vivo?:"+t4.isAlive());
  • 16. t1.start(); t2.start(); t3.start(); t4.start(); t5.start(); } } Salida . .
  • 17. .
  • 18. Conclusión Los anteriores programas me ayudaron a recordar la herencia en java, aprendí a usar Runnable, aunque en el programa de prioridad me quedo duda ya que en la parte de herencia el JCreator no me permitió dejar de crear objetos como en interfaz. Realizando el resumen quedo un poco más claro, el concepto de hilo y como usarlo, me ayudo a aclarar conceptos del propio lenguaje tales como manejar .get, .set, el uso de los vectores, como crear las ventanas con JFrame y los applets. Espero con los siguientes laboratorios aprender más sobre la materia y terminar de comprender los conceptos aquí tratados. Bibliografía http://www.cs.buap.mx/~mceron/principal_con.html