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:

Essential Learning Unit

Akihabara Learning Unit

Genial learning unit

History Learning Unit

Primary Unit Plan

Vibrant Learning Unit

Art learning unit

Transcript

<Lectores y Escritores

Windows Defenders/2
Braulio Gallegos Méndez
Oscar Dominguez Toscano

EMPEZAR >

>

>

<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.

>

>

00

01

02

Video

Código

Explicación

03

04

05

Preguntas

Conclusión

Referencias

<00> Video

Video guía en donde explica el código

EMPEZAR >

>

>

>

GITHUB>

<01> Código

<02> Explicacion

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.

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.

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.

>

<QUIZ>

5 PREGUNTAS SI TE ATREVES

EMPEZAR >

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!