无界队列一直涨

无界队列一直涨

本节的积压离散模型(纯算术,不靠真线程): backlog(prod, cons, ticks) 无界队列:每 tick 进 prod 个、出 cons 个 → 每 tick 结束时队列长度(pr

阅读更多 →
有界和无界怎么选

有界和无界怎么选

队列该有界还是无界,取决于【0】。

阅读更多 →
无界队列的风险

无界队列的风险

缓冲箱满了,三格都占着 新产出的停在门口,等有空位才进 用一个没有容量上限的队列,最大的风险是【0】。

阅读更多 →
背压是什么

背压是什么

缓冲箱满了,三格都占着 新产出的停在门口,等有空位才进 「背压」(backpressure)指的是【0】。

阅读更多 →
⚠️ 自己写:醒来不重查会怎样

⚠️ 自己写:醒来不重查会怎样

(每道题开头都有同一段:上面的有界队列。) 贯穿全条的有界队列(Condition 同步:满了 put 等、空了 get 等,等的时候把锁交出去): 两个消费者同时被叫醒、只有一个数据:不重查(硬 p

阅读更多 →
补全:空了就等的 get

补全:空了就等的 get

(每道题开头都有同一段:上面的有界队列。) 贯穿全条的有界队列(Condition 同步:满了 put 等、空了 get 等,等的时候把锁交出去): box = Box(cap)

阅读更多 →
补全:什么时候该等

补全:什么时候该等

(每道题开头都有同一段:上面的有界队列。) 贯穿全条的有界队列(Condition 同步:满了 put 等、空了 get 等,等的时候把锁交出去): 补全 should_wait_put(items,

阅读更多 →
空时消费者要等

空时消费者要等

(每道题开头都有同一段:上面的有界队列。) 贯穿全条的有界队列(Condition 同步:满了 put 等、空了 get 等,等的时候把锁交出去): box = Box(cap)

阅读更多 →
满时生产者要等

满时生产者要等

(每道题开头都有同一段:上面的有界队列。) 贯穿全条的有界队列(Condition 同步:满了 put 等、空了 get 等,等的时候把锁交出去): box = Box(cap)

阅读更多 →
为什么醒来要重查条件

为什么醒来要重查条件

被叫醒之后要重新检查条件(用 while / wait_for 而不是 if),因为【0】。

阅读更多 →