Referencia

Glosario

El vocabulario mínimo para hablar de concurrencia en planta, con su lectura física.

Conceptos de sincronización

TérminoDefiniciónLectura industrial
Región críticaTramo de código que accede a datos compartidos y debe ejecutarse sin interrupciones de otros hilos.El momento en que la grúa maneja la pieza: nadie más puede usarla.
SemáforoContador con operaciones wait (P) y signal (V); bloquea si intenta esperar con valor 0.El semáforo de tráfico del que toma nombre: permiso para avanzar.
MutexSemáforo binario de exclusión mutua; un solo poseedor a la vez.La llave de la única herramienta compartida.
Variable de condiciónPrimitiva para dormir un hilo hasta que una condición booleana se cumpla, sin sondeo.«Avísame cuando llegue la pieza».
Condición de carreraResultado que depende del entrelazado de los hilos; normalmente erróneo.Dos cintas cuentan la misma caja.
Data raceAcceso concurrente sin sincronización a la misma memoria (comportamiento indefinido).Dos hilos escriben el mismo registro de E/S a la vez.
Deadlock / interbloqueoTodos los hilos esperan un recurso que otro retiene; nadie avanza.La línea entera parada porque dos estaciones se esperan entre sí.
Inanición (starvation)Un hilo nunca consigue el recurso porque otros lo acaparan.Una máquina que nunca recibe piezas.
Inversión de prioridadUn hilo de alta prioridad espera a otro de baja que retiene un recurso.La alarma de temperatura espera a que termine el hilo de registro.
Busy-waitEspera por consulta repetida; consume CPU.El hilo que mira el sensor miles de veces por segundo.
AtomicidadPropiedad de ejecutarse como operación indivisible.Leer-y-fijar la posición de la grúa en un solo paso.

Patrones

TérminoDefiniciónLectura industrial
Productor–consumidorUn hilo produce elementos, otro los consume, con buffer de capacidad finita entre ambos.Llenadora → buffer → empaquetadora.
Lectores–escritoresAcceso compartido para lecturas y exclusivo para escrituras.Pasillo de AGV con sentido único, tabla de configuración.
BarreraPunto donde N hilos esperan a los demás antes de continuar.Los 4 dosificadores descargan a la vez.
RendezvousCita entre dos hilos que esperan su llegada mutua.Robot y prensa terminan antes de abrir la guarda.
PipelineCadena de etapas concurrentes; cada pieza las recorre en orden.La línea de mecanizado M1→M2→M3.
BackpressurePropagación del bloqueo aguas arriba cuando un buffer se llena.La tolva se detiene porque M2 va lenta.

Mecanismos y herramientas

TérminoDefinición
RAIIGestión de recursos por ámbito: el candado se suelta al salir, sí o sí.
std::jthreadHilo que se une solo al destruirse y admite parada cooperativa.
stop_tokenSeñal de parada que un hilo consulta para salir de forma ordenada.
std::scoped_lockToma varios mutex de una vez evitando deadlock.
std::shared_mutexMutex con dos modos: lectura compartida / escritura exclusiva.
ThreadSanitizerSanitizer que detecta data races en ejecución.
HelgrindHerramienta de Valgrind para errores de sincronización.
WatchdogEspera con límite de tiempo que convierte un bloqueo en diagnóstico.
HMI / SCADAInterfaz de operador y sistema de supervisión que consume las colas de eventos.
OEE / KPIIndicadores de rendimiento que el supervisor calcula a partir de los eventos.