Want to create interactive content? It’s easy in Genially!
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:
View
Essential Learning Unit
View
Akihabara Learning Unit
View
Genial learning unit
View
History Learning Unit
View
Primary Unit Plan
View
Vibrant Learning Unit
View
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