⚠️ 自己写:醒来不重查会怎样
(每道题开头都有同一段:上面的有界队列。)
贯穿全条的有界队列(Condition 同步:满了 put 等、空了 get 等,等的时候把锁交出去):
两个消费者同时被叫醒、只有一个数据:不重查(硬 pop)的那个会对空 pop 报错。补全 get_or_wait(items):空了交回 -1(代表接着等,不硬取);否则取最前面的。模板里「醒来直接 pop」在空的时候会怎样?
(每道题开头都有同一段:上面的有界队列。)
贯穿全条的有界队列(Condition 同步:满了 put 等、空了 get 等,等的时候把锁交出去):
两个消费者同时被叫醒、只有一个数据:不重查(硬 pop)的那个会对空 pop 报错。补全 get_or_wait(items):空了交回 -1(代表接着等,不硬取);否则取最前面的。模板里「醒来直接 pop」在空的时候会怎样?
全部评论