Descargar la presentación
La descarga está en progreso. Por favor, espere
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?
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.
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
Servidor
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 Descargar los ejemplos del aula virtual, correrlos y entenderlos. El ejemplo de hilos tiene partes de código comentadas, correrlo con el código comentado y no comentado. Realizar el taller 9 del aula virtual El jueves hay quiz!
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.