Want to create interactive content? It’s easy in Genially!

Get started free

TAREA 4

Braulio Gallegos Mendez

Created on October 24, 2024

pRESENTACION DE LECTORES Y ESCRITORES

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Oscar Dominguez Toscano
Braulio Gallegos Méndez

EMPEZAR >

<Lectores y Escritores

Windows Defenders/2

<INTRODUCCION>

Hoy les presentaremos un código que aborda el problema clásico de "Lectores y Escritores" en programación concurrente, diseñado para gestionar el acceso eficiente a un recurso compartido. Utiliza herramientas de sincronización de Java, como ReentrantLock y Condition, para coordinar la interacción de múltiples hilos. La lógica detrás de este sistema permite que varios lectores accedan simultáneamente al recurso, mientras que el acceso de un solo escritor se limita en cualquier momento, garantizando así la integridad de los datos. Además, se ha implementado un mecanismo que evita que los escritores interrumpan a los lectores activos, promoviendo un flujo ordenado y evitando condiciones de carrera.

>

>

Explicación

Referencias

02

Conclusión

05

04

03

Código

01

00

Preguntas

Video

>

>

>

>

EMPEZAR >

<00> Video

Video guía en donde explica el código

>

GITHUB>

<01> Código

Para los escritores, inicioEscritura() espera hasta que no haya lectores ni otros escritores antes de conceder acceso. Al finalizar en finEscritura(), notifica a escritores en espera o despierta a los lectores, manteniendo un equilibrio entre ambos tipos de acceso.

La función inicioLectura() permite a un lector acceder al recurso solo si no hay escritores activos o en espera. Si puede, incrementa el conteo de lectores. finLectura() decrementa este conteo y notifica a un escritor si ya no hay lectores activos.

Este código implementa un sistema de control para el problema de "Lectores y Escritores" usando ReentrantLock y Condition. Permite que múltiples lectores accedan simultáneamente, pero restringe el acceso a un solo escritor, evitando condiciones de carrera.

>

<02> Explicacion

EMPEZAR >

<QUIZ>

5 PREGUNTAS SI TE ATREVES
PREGUNTA 1 de 5
PREGUNTA 2 de 5
PREGUNTA 3 de 5
PREGUNTA 4 de 5
PREGUNTA 5 de 5

<04 cONCLUSIÓN>

En conclusión, el código que hemos analizado ofrece una solución eficiente al problema de Lectores y Escritores, garantizando un acceso controlado a recursos compartidos en entornos concurrentes. Mediante el uso de ReentrantLock y Condition, se logra equilibrar el acceso de múltiples lectores y un único escritor, preservando la integridad de los datos. Además, su diseño evita conflictos y condiciones de carrera, lo que lo convierte en una implementación robusta y escalable para gestionar la concurrencia. Esta estrategia es esencial en aplicaciones donde la consistencia y el rendimiento son críticos. Gracias por su atención, y estamos abierto a cualquier opinion que puedan tener.

REFERENCIAS>

>

<REFERENCIAS>

Gallego, M. (2016) LectoresEscritores.java https://github.com/codeurjc/concurrencia-tema5/blob/master/src/main/java/ejercicio/ejer_t5_5_5/LectoresEscritores.java

Padilla, A. (2022) Lectores y Escritores - Explicación completa - Sistemas Operativos. https://www.youtube.com/watch?v=-wbv8fFb1NY

Salgado Paniagua, I & Vaquero Grandas, L. (1998) PROBLEMA DE LOS LECTORES-ESCRITORES. https://www.infor.uva.es/~cllamas/concurr/pract98/sisos30/index.html

Anónimo (2007) Práctica 2: Concurrencia de procesos. Lectores/escritores. https://vios.dc.fi.udc.es/so/p20607.pdf

¡MUCHAS GRACIAS!