主线程怎么等它们结束

主线程要等生产者、消费者都干完再退出,靠的是【0】。

开始练习 →

两个线程跑一遍

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

开始练习 →

补全:生产者

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

开始练习 →

补全:消费者

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

开始练习 →

补全:装起来跑

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

开始练习 →

条件变量解决什么

条件变量(Condition)在生产者-消费者里解决的是【0】。

开始练习 →

wait_for 做什么

cond.wait_for(条件) 干的事是【0】。

开始练习 →

为什么醒来要重查条件

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

开始练习 →

满时生产者要等

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

开始练习 →

空时消费者要等

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

开始练习 →