La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Algoritmos y programación 3 - cátedra Fontela Concurrencia.

Presentaciones similares


Presentación del tema: "Algoritmos y programación 3 - cátedra Fontela Concurrencia."— Transcripción de la presentación:

1 Algoritmos y programación 3 - cátedra Fontela Concurrencia

2 A3F Concurrencia La Real Academia Española dice: Concurrencia. 1. f. Acción y efecto de concurrir. 2. f. Conjunto de personas que asisten a un acto o reunión. 3. f. Coincidencia, concurso simultáneo de varias circunstancias. En computación: Capacidad de los sistemas de realizar mas de una tarea al mismo tiempo

3 A3F Concurrencia Proceso Programa en ejecución Tiene recursos propios Hilo Subproceso Utiliza los recursos del proceso

4 A3F Tipos de concurrencia Multiprogramación Un solo procesador Multiprocesamieto Mas de un procesador Computación distribuida Los procesos corren en máquinas distintas

5 A3F Ademas... Varios procesos en paralelo Ej: Varias instancias de un programa Comparten recursos externos (archivos)‏ Varios hilos (multithreading)‏ Dentro del mismo proceso, mas de un hilo Comparten recursos externos e internos (objetos, clases)‏

6 A3F Usos Optimización de tiempos Operaciones de E/S son lentas Hago cosas “en background” mientras el usuario sigue trabajando. Ejemplo, eclipse compila todo el tiempo sin que yo tenga que dejar de escribir Diseño

7 A3F Concurrencia en Java Interfaz Runnable y clase Thread Manejada por la JVM Scheduler basado en prioridades

8 A3F Concurrencia en Java class Hilo extends Thread { public void run() { //codigo del hilo }... Hilo unHilo = new Hilo(); unHilo.start();//start invoca a run()‏...

9 A3F Concurrencia en Java class Hilo implements Runnable { public void run() { //codigo del hilo }... Thread t = new Thread(new Hilo()); t.start();...

10 A3F Concurrencia en C# public class Hilo { public void run() { //codigo del hilo }... Hilo unHilo = new Hilo(); Thread t = new Thread (new ThreadStart(unHilo.run)); t.start();

11 A3F Problemas de la concurrencia No-determinismo No tenemos control sobre el flujo de ejecución Recursos críticos No pueden ser accedidos por varios objetos al mismo tiempo Necesitamos exclusión mutua Semaforos Cerrojos Monitores

12 A3F Problemas de la concurrencia Deadlock (interbloqueo)‏

13 A3F Problemas de la concurrencia Starvation (inanición)‏ Proceso que nunca obtiene recursos Inversion de prioridades

14 A3F Ejercicios


Descargar ppt "Algoritmos y programación 3 - cátedra Fontela Concurrencia."

Presentaciones similares


Anuncios Google