/* Page prose (fr) */
"BarrierFix" = "# Correction 2: une file concurrente avec une barrière (lecteurs-écrivains)\n\nSérialiser *tout* est plus lourd que ce dont tu as parfois besoin. Lire le solde ne corrompt rien: cent caissiers peuvent *lire* le tiroir à la fois sans aucun mal. Seule l'*écriture* a besoin d'être seule. C'est le **patron lecteurs-écrivains**: les lectures s'exécutent de façon concurrente; les écritures obtiennent un accès exclusif.\n\nGCD te donne cela avec une **barrière**. Sur une file concurrente, un bloc soumis avec le flag `.barrier` attend que chaque bloc antérieur se termine, puis s'exécute complètement seul, et ce n'est qu'ensuite qu'il laisse les blocs suivants reprendre. Les lectures sont simples (concurrentes); les écritures sont des barrières (exclusives).";
"BarrierFix-2" = "**Observe l'exécution:** `Final balance: 1000 (expected 1000)`, à chaque exécution. La différence avec la Correction 1 est que les lectures (`currentBalance`) n'ont pas à s'attendre les unes les autres; seules les écritures le font. Quand les lectures dépassent de loin les écritures, c'est un vrai gain. Remarque aussi que la coordination vit désormais *à l'intérieur* d'`Account`: ceux qui l'appellent ne peuvent pas oublier de verrouiller, parce qu'il n'y a rien à se rappeler. Cacher la synchronisation derrière une interface propre est la meilleure habitude de tout ce chapitre.\n\n[Précédent](@previous)  |  page 5 sur 9  |  [Suivant: Interblocage](@next)";
