Memory Model
Un modèle mémoire définit les garanties de visibilité et d'ordre des lectures et écritures entre threads — le fondement de l'exactitude concurrente.
Objectif
Comprendre les règles de réordonnancement et de visibilité des opérations mémoire en multithread et écrire du code concurrent correct.
Mécanisme
Cohérence séquentielle (SC) : tous les threads voient un ordre unifié. Acquire-release : les écritures antérieures au release deviennent visibles après l'acquire. Relaxed : atomicité seule, sans garantie d'ordre. Java/JS/C++ spécifient chacun leur propre modèle mémoire.
Cas d’usage
- Programmation concurrente
- Algorithmes sans verrou
- Spécifications de langages