/* Page prose (zh-Hans) */
"SerialQueueFix" = "# 方案 1：把写操作汇集到一条串行队列中\n\n最干净的修复方式：让存款**一次一个**地发生。**串行队列**严格按顺序运行它的块，从不重叠，所以没有哪个柜员能在另一个柜员写到一半时读取抽屉。没有间隙可以溜进去。";
"SerialQueueFix-2" = "**观察运行：** `Final balance: 1000 (expected 1000)`。每一次都是。运行十次；十次都是 `1000`。串行队列正是那个有竞争的版本所缺少的协调。注意这个权衡：存款不再重叠，所以你放弃了一些并行性来换取正确性。对于一次快速的余额更新来说，这是一笔划算的买卖。\n\n* callout(试一试): 把 `ledger` 改回 `attributes: .concurrent` 再运行。看着那个本来有保证的 `1000` 在写操作可以重叠的那一刻再次崩溃。\n\n[上一页](@previous)  |  第 4 / 9 页  |  [下一页: 屏障方案](@next)";
