Memory Model
Un modelo de memoria define las garantías de visibilidad y orden de lecturas y escrituras entre hilos: el fundamento de la corrección concurrente.
Propósito
Entender las reglas de reordenación y visibilidad de las operaciones de memoria bajo multihilo y escribir código concurrente correcto.
Mecanismo
Consistencia secuencial (SC): todos los hilos ven un orden unificado. Adquire-release: las escrituras previas al release se vuelven visibles tras el acquire. Relaxed: solo atomicidad, sin garantías de orden. Java/JS/C++ especifican cada uno su propio modelo de memoria.
Casos de uso
- Programación concurrente
- Algoritmos sin bloqueos
- Especificaciones de lenguajes