La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a Programación Concurrente Estructuras de Datos.

Presentaciones similares


Presentación del tema: "Introducción a Programación Concurrente Estructuras de Datos."— Transcripción de la presentación:

1 Introducción a Programación Concurrente Estructuras de Datos

2 Hilos de Ejecución

3 Procesos Ejecución de un programa Características Estado (valor de los registros) Instrucciones Pila de ejecución Memoria de trabajo (heap)

4 Hilos y Procesos

5 Ventajas de programar con hilos Simplificación del modelo Manejo de eventos asíncronos Interfaces de usuario más interactivas Uso de varios procesadores

6 Varias pilas de ejecución

7 Iniciar un hilo en Java Thread t = new Thread() ; t. start () ; Este hilo no hace nada. El stack se pierde en el momento en el que se inicia. Hay que darle un trabajo.

8 ¿Cómo iniciar un nuevo hilo de ejecución? 1.Crear un objeto de tipo Runnable Este es el trabajo que va a realizar el hilo.

9 ¿Cómo iniciar un nuevo hilo de ejecución? Crear un objeto de tipo Thread y asignarle un Runnable (trabajo) e iniciar el hilo.

10 Ciclo de vida de un hilo

11 Thread Scheduler Decide cuál hilo se ejecuta después. No puedo saber el orden de ejecución de los hilos!

12 Dormir un hilo Permite tener un poco más de control sobre el orden de ejecución. Cuando termina el tiempo, el hilo queda en estado ejecutable

13 Aplicaciones Cliente-Servidor Modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.servidoresclientes

14 ¿Cómo funcionan? - Chat

15 Pasos

16 Sockets Un Socket es un objeto que representa una conexión entre dos máquinas. Una conexión implica que cada una de las máquinas conoce la ip de la otra máquina y el puerto a través del cual se van a comunicar. Los puertos 0 a 1023 están reservados.

17 Establecer la conexión inicial

18 Servidor El servidor debe estar atento a los clientes que se quieren conectar.

19 Servidor

20

21 Multiusuario Cada usuario se maneja en un hilo aparte.

22 Comunicación con el cliente

23 Protocolo de comunicación Establece las reglas de comunicación entre el cliente y el servidor. ¿Quién habla primero? ¿Qué comandos puede recibir el servidor? ¿Qué acciones se realizan en cada comando?

24 Protocolo: Ejemplo Registrar usuario – Opción A: – 1. Envío mensaje al servidor – 2. Envío todos los datos en un orden específico. – Opción B: – 1. Envío comando al servidor – 2. El servidor pide de uno a uno los datos.

25 Preguntas ¿Cuáles son los pasos para iniciar un nuevo hilo de ejecución y el código en java? ¿Cómo puedo decirle a un hilo que espere un segundo? ¿Qué es un socket? ¿Cómo se crea? ¿Qué clase necesito para leer de un stream de un socket? ¿Para escribir en el stream del socket? Escriba el código en java para crearlas.

26 Taller 1.Descargar los ejemplos del aula virtual, correrlos y entenderlos. 1.El ejemplo de hilos tiene partes de código comentadas, correrlo con el código comentado y no comentado. 2.Realizar el taller 9 del aula virtual 3.El jueves hay quiz!


Descargar ppt "Introducción a Programación Concurrente Estructuras de Datos."

Presentaciones similares


Anuncios Google