/* Page prose (ja) */
"BarrierFix" = "# 解決策2: バリア付きの並行キュー（リーダー・ライター）\n\n*すべて*をシリアル化するのは、ときに必要以上に重いものです。残高を読むことは何も破損しません。百人の窓口係が同時に引き出しを*読んで*も害はありません。一人だけである必要があるのは*書き込み*だけです。それが **リーダー・ライターパターン** です。読み取りは並行に実行され、書き込みは排他的なアクセスを得ます。\n\nGCD はこれを **バリア** で提供します。並行キューでは、`.barrier` フラグを付けて送られたブロックは、それより前のすべてのブロックが終わるまで待ち、それから完全に一人だけで実行され、そのあとで初めて後続のブロックの再開を許します。読み取りは素のまま（並行）、書き込みはバリア（排他的）です。";
"BarrierFix-2" = "**実行して確認:** `Final balance: 1000 (expected 1000)`、毎回です。解決策1との違いは、読み取り（`currentBalance`）が互いに待つ必要がなく、待つのは書き込みだけだという点です。読み取りが書き込みを大きく上回るとき、これは本物の勝利になります。さらに、協調がいまや `Account` の*内側*に住んでいることにも注目してください。呼び出し側はロックを忘れようがありません。覚えておくべきことが何もないからです。同期をきれいなインターフェースの背後に隠すことは、この章で唯一かつ最良の習慣です。\n\n[前へ](@previous)  |  5 / 9 ページ  |  [次へ: デッドロック](@next)";
