ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Reporte de Grafos programacion concurrente y paralela


Enviado por   •  28 de Agosto de 2023  •  Documentos de Investigación  •  3.850 Palabras (16 Páginas)  •  48 Visitas

Página 1 de 16

26-8-23

REPORTE

[pic 1]

Benemérita Universidad Autónoma de Puebla

Facultad de Ciencias de la Computación[pic 2]

[pic 3]

[pic 4][pic 5]

[pic 6]

[pic 7][pic 8]

[pic 9]

Materia: Programación Concurrente y Paralela

Profesor: Carmen Cerón Garnica

Alumnos: Israel Rivera Estrella  201804041

Alejandro Ponce Bonilla 201835041

Aldo Andree Riverol Alcala 201866110

Juan Pablo Romero Diaz 20180167

                       

Contenido

Introducción        3

Desarrollo        3

Problema 1.        3

Versión Herencia de Thread        3

Versión de Runnable        4

Problema 2.        6

Versión Herencia de Thread        6

Versión de Runnable        7

Problema 3.        9

Problemas        12

Problema 1.        12

Versión Herencia de Thread        13

Versión de Runnable        14

Problema 2.        16

Versión Herencia de Thread        16

Versión de Runnable        18

Conclusión        19

Introducción

En la presente practica se reafirmarán los conceptos de creación de hilos, además de hacer que los hilos trabajen de forma sincronizada y comunicadas de forma alternada, para representar diferentes grafos.

Desarrollo

Problema 1.

Construir un programa concurrente que se corresponda con el grafo de precedencia de la siguiente figura utilizando Java.

Versión Herencia de Thread

package grafo_1;[pic 10]

 

public class Grafo_1 extends Thread {

String palabra;

int tiempo;

public Grafo_1(String _palabra, int _tiempo){ palabra = _palabra;

tiempo = _tiempo;

}

public void run() {

try{

sleep(tiempo); System.out.println(palabra);

}

catch (InterruptedException e) { System.err.println("Error");

}

}

public static void main(String[] args) {

Thread s1 = new Grafo_1 ("S1",500); Thread s2 = new Grafo_1 ("S2",1000);

Thread s3 = new Grafo_1 ("S3",1000); Thread s4 = new Grafo_1 ("S4",2000); Thread s5 = new Grafo_1 ("S5",2500); Thread s6 = new Grafo_1 ("S6",2500); Thread s7 = new Grafo_1 ("S7",3000); s1.start();

s2.start();

s3.start();

s4.start();

s5.start();

s6.start();

s7.start();

System.out.println("Ejecucion Main Grafo ");

}

}

[pic 11]

Versión de Runnable

import static java.lang.Thread.sleep;

public class Grafo_1_Runnable implements Runnable {

    String palabra;

    int tiempo;

    public Grafo_1_Runnable(String _palabra, int _tiempo){

        palabra = _palabra;

        tiempo = _tiempo;

    }

    public void run() {

        try{

            sleep(tiempo); System.out.println(palabra);

        }

        catch (InterruptedException e) {

            System.err.println("Error");

        }

    }

    public static void main(String[] args) {

        Grafo_1_Runnable a1 = new Grafo_1_Runnable ("S1",500);

        Grafo_1_Runnable a2 = new Grafo_1_Runnable ("S2",1000);

        Grafo_1_Runnable a3 = new Grafo_1_Runnable ("S3",1000);

        Grafo_1_Runnable a4 = new Grafo_1_Runnable ("S4",2000);

        Grafo_1_Runnable a5 = new Grafo_1_Runnable ("S5",2500);

        Grafo_1_Runnable a6 = new Grafo_1_Runnable ("S6",2500);

        Grafo_1_Runnable a7 = new Grafo_1_Runnable ("S7",3000);

       

        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);

        Thread t6 = new Thread (a6);

        Thread t7 = new Thread (a7);

        t1.start();

        t2.start();

        t3.start();

        t4.start();

        t5.start();

        t6.start();

        t7.start();

       

        System.out.println("Ejecucion Main Grafo ");

    }

}

[pic 12]

Problema 2.

Dado el siguiente grafo de precedencia correspondiente obtener su tabla con la que se dibujó.

Versión Herencia de Thread[pic 13]

package grafo_2;

public class Grafo_2 extends Thread{

    String palabra;

    int tiempo;

   

    public Grafo_2(String _palabra, int _tiempo){

        palabra = _palabra;

        tiempo = _tiempo;

    }

   

    public void run() {

        try{        

            sleep(tiempo);

...

Descargar como (para miembros actualizados) txt (17 Kb) pdf (3 Mb) docx (567 Kb)
Leer 15 páginas más »
Disponible sólo en Clubensayos.com