Solución productor-consumidor usando hilos en Java

En informática, el problema del productor-consumidor (también conocido como problema del búfer acotado) es un ejemplo clásico de un problema de sincronización de procesos múltiples. El problema describe dos procesos, el productor y el consumidor, que comparten un búfer común de tamaño fijo que se utiliza como cola.  El trabajo del productor es generar datos, … Continue reading «Solución productor-consumidor usando hilos en Java»

Sincronización en Sistemas Distribuidos

El sistema distribuido es una colección de computadoras conectadas a través de la red de comunicación de alta velocidad. En el sistema distribuido, los componentes de hardware y software se comunican y coordinan sus acciones mediante el paso de mensajes. Cada Node en los sistemas distribuidos puede compartir sus recursos con otros Nodes. Por lo … Continue reading «Sincronización en Sistemas Distribuidos»

Exclusión mutua en sincronización

Durante la ejecución simultánea de procesos, los procesos deben ingresar a la sección crítica (o la sección del programa compartida entre procesos) en ocasiones para la ejecución. Puede suceder que debido a la ejecución de múltiples procesos a la vez, los valores almacenados en la sección crítica se vuelvan inconsistentes. En otras palabras, los valores … Continue reading «Exclusión mutua en sincronización»

Problemas clásicos de Sincronización con Semaphore Solution

En este artículo, veremos varios problemas clásicos de sincronización como ejemplos de una gran clase de problemas de control de concurrencia. En nuestras soluciones a los problemas, utilizamos semáforos para la sincronización, ya que esa es la forma tradicional de presentar tales soluciones. Sin embargo, las implementaciones reales de estas soluciones podrían usar bloqueos mutex … Continue reading «Problemas clásicos de Sincronización con Semaphore Solution»

Monitor vs Semáforo

Tanto los semáforos como los monitores se utilizan para resolver el problema de la sección crítica (ya que permiten que los procesos accedan a los recursos compartidos en exclusión mutua ) y para lograr la sincronización de procesos en el entorno de multiprocesamiento. Monitor : Una construcción de sincronización de alto nivel de tipo Monitor. … Continue reading «Monitor vs Semáforo»

Problema de lector-escritor usando monitores (pthreads)

Requisito previo: monitores , lectores y escritores Problema  Hay un recurso compartido al que acceden varios procesos, es decir, lectores y escritores. Cualquier número de lectores puede leer del recurso compartido simultáneamente, pero solo un escritor puede escribir en el recurso compartido a la vez. Cuando un escritor escribe datos en el recurso, ningún otro … Continue reading «Problema de lector-escritor usando monitores (pthreads)»

Comunicación entre procesos (IPC) – Part 1

  Un proceso puede ser de dos tipos: Proceso independiente. Proceso cooperativo. Un proceso independiente no se ve afectado por la ejecución de otros procesos, mientras que un proceso cooperativo puede verse afectado por otros procesos en ejecución. Aunque uno puede pensar que esos procesos, que se ejecutan de forma independiente, se ejecutarán de manera … Continue reading «Comunicación entre procesos (IPC) – Part 1»

¿Cómo despertar un std::thread mientras está durmiendo?

En este artículo, discutiremos cómo activar un std::thread mientras está inactivo. Se sabe que no se puede salir de un hilo cuando está durmiendo. Entonces se despierta usando un comando como: estándar::condición_variable A continuación se muestra el pseudocódigo para implementar lo mismo:  C++ // Custom Class struct MyClass {        // Constructor     MyClass()         : my_thread([this]() … Continue reading «¿Cómo despertar un std::thread mientras está durmiendo?»

TUBOS tecnica IPC

Una tubería es una técnica utilizada para la comunicación entre procesos . Una tubería es un mecanismo por el cual la salida de un proceso se dirige a la entrada de otro proceso. Por lo tanto, proporciona un flujo de datos unidireccional entre dos procesos relacionados. Aunque se puede acceder a la canalización como un … Continue reading «TUBOS tecnica IPC»

Introducción de Sincronización de Procesos

  Sobre la base de la sincronización, los procesos se clasifican en uno de los dos tipos siguientes: Proceso Independiente : La ejecución de un proceso no afecta la ejecución de otros procesos. Proceso cooperativo : Un proceso que puede afectar o ser afectado por otros procesos que se ejecutan en el sistema. El problema … Continue reading «Introducción de Sincronización de Procesos»