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

DOCX
Guia para examen java
PDF
Pensando funcionalmente
DOCX
Hechos en clase
PDF
Java ArrayList Iterator
PDF
Clase2_Python-CTIC
PDF
Java HashMap
PDF
Python para principiantes
PDF
Ejercicios de programacion concurrente
Guia para examen java
Pensando funcionalmente
Hechos en clase
Java ArrayList Iterator
Clase2_Python-CTIC
Java HashMap
Python para principiantes
Ejercicios de programacion concurrente

La actualidad más candente (20)

PDF
Programacion en python_2
DOCX
La torre de hanoi segundo lab
PDF
4. Programación con arrays, funciones, y objetos definidos por el usuario
DOCX
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
PDF
Sincronizar Threads
DOCX
Tarea sesion 08_gottlieb
TXT
Lab
PPTX
PPTX
Blind X Path Injection
PDF
Java::Acceso a Bases de Datos
PDF
Creacion de proyecto_en_netbeans
PDF
Fourier
PDF
Curso de Python
PPTX
Java 8
DOCX
Reporte viernes 24
PPT
6 Upv Solo Pruebas 2009
PDF
Presentacion Python
PDF
Practica 2
PPTX
Ejercicios con Python parte 05
Programacion en python_2
La torre de hanoi segundo lab
4. Programación con arrays, funciones, y objetos definidos por el usuario
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Sincronizar Threads
Tarea sesion 08_gottlieb
Lab
Blind X Path Injection
Java::Acceso a Bases de Datos
Creacion de proyecto_en_netbeans
Fourier
Curso de Python
Java 8
Reporte viernes 24
6 Upv Solo Pruebas 2009
Presentacion Python
Practica 2
Ejercicios con Python parte 05
Publicidad

Destacado (7)

PPTX
St. Petersburg
PDF
Laura Hakimi - Mobile English language learning for disadvantaged urban youth...
PPTX
Blog Laura Fresno
PPTX
Martínez contreras laura
PPTX
Mapa conceptual. Laura Campos
PPT
Unit 5 - Columbus ppt.
St. Petersburg
Laura Hakimi - Mobile English language learning for disadvantaged urban youth...
Blog Laura Fresno
Martínez contreras laura
Mapa conceptual. Laura Campos
Unit 5 - Columbus ppt.
Publicidad

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

PPTX
Apache Storm: Desarrollo
DOCX
Ejercicio #9..docx de ingenieria de software
PDF
Desarrollo De Programas Ejemplos 01
PDF
Desarrollo de programas_ejemplos_01
PDF
Ejercicios en Netbeans
PDF
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
DOCX
Guia para examen java
PPTX
Chap 15bpin
DOCX
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
PPTX
Herencia encapsulación polimorfismo
PDF
Unidad iii pilas y colas
PPTX
Encapsulamiento
PDF
2 interfaces graficas_de_usuario (1)
DOCX
PPT
Hilos
PPT
Threads en java
PPT
Threads en Java
PDF
Java
TXT
Ordenamiento shell
DOCX
Multitarea e hilos en java con ejemplos
Apache Storm: Desarrollo
Ejercicio #9..docx de ingenieria de software
Desarrollo De Programas Ejemplos 01
Desarrollo de programas_ejemplos_01
Ejercicios en Netbeans
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Guia para examen java
Chap 15bpin
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
Herencia encapsulación polimorfismo
Unidad iii pilas y colas
Encapsulamiento
2 interfaces graficas_de_usuario (1)
Hilos
Threads en java
Threads en Java
Java
Ordenamiento shell
Multitarea e hilos en java con ejemplos

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