/* Page prose (zh-Hans) */
"DispatchSemaphoreLimiting" = "# `DispatchSemaphore`：限制同时运行的数量\n\n组回答的是“它们*全部*都完成了吗？”信号量回答的是另一个问题：“*同时*允许多少个？”\n\n**`DispatchSemaphore`** 是一个可用许可的计数器。你用一个初始计数来创建它。`wait()` 会取走一个许可，如果一个都不剩就阻塞；`signal()` 会归还一个许可。当计数为，比如说，2 时，同一时间只有两个任务能持有许可；其他所有任务都得等轮到自己。\n\n想象这家咖啡吧有五位 barista，却只有**一台 espresso 机器，只能同时装两个手柄**。同时只能萃取两份。";
"DispatchSemaphoreLimiting-2" = "注意这里**同时**用到了两种工具：信号量把并发上限压到两个，组则告诉你五个何时全部完成。\n\n**观察运行：** 你绝不会看到超过两个 `→ starts` 之间没有一个 `← done`。输出是一波一波来的：两位 barista 开始，两位完成，接下来的两位开始，如此往复。每一波里具体是哪些名字在不同运行之间可能不一样，但**规则从不被打破**：最多两份同时萃取。\n\n* callout(试一试): 把 `value: 2` 改成 `value: 1`，整个过程就变成严格的一次一个。改成 `5`，所有人就一起开始。那个单独的数字就是节流阀。\n\n[上一页](@previous)  |  第 6 / 8 页  |  [下一页: 把计数为 1 的信号量当作锁](@next)";
