补全:让第二条线程等得到

(每道题开头都有同一段:上面那几样。) 贯穿全条的几样东西: Counter / SafeCounter 读-睡-写的计数器;Safe 版用 with self.lock 包住三步(conc_03 的写法) hammer(counter

开始练习 →

为什么不能忙等

消费者要等队列里有东西。写成 while not items: pass(忙等)的问题是【0】。

开始练习 →

wait 做了什么

cond.wait() 一句话说是【0】。

开始练习 →

醒来先干什么

被 notify 叫醒之后,正确的做法是【0】。

开始练习 →

生产者消费者的顺序

本节的东西: Box(cap) Condition 保护的有界队列:put 满了等、get 空了等;等 = cond.wait_for(条件),等的时候把锁交出去、醒来再拿回;改完 notify_all run_pc(cap, n)

开始练习 →

补全:用 wait_for 写 get

本节的东西: Box(cap) Condition 保护的有界队列:put 满了等、get 空了等;等 = cond.wait_for(条件),等的时候把锁交出去、醒来再拿回;改完 notify_all run_pc(cap, n)

开始练习 →

补全:用 while 手写 wait

本节的东西: Box(cap) Condition 保护的有界队列:put 满了等、get 空了等;等 = cond.wait_for(条件),等的时候把锁交出去、醒来再拿回;改完 notify_all run_pc(cap, n)

开始练习 →

补全:等 N 个人到齐

本节的东西: Box(cap) Condition 保护的有界队列:put 满了等、get 空了等;等 = cond.wait_for(条件),等的时候把锁交出去、醒来再拿回;改完 notify_all run_pc(cap, n)

开始练习 →

补全:用条件变量做一个开关

本节的东西: Box(cap) Condition 保护的有界队列:put 满了等、get 空了等;等 = cond.wait_for(条件),等的时候把锁交出去、醒来再拿回;改完 notify_all run_pc(cap, n)

开始练习 →

信号量是什么

信号量(Semaphore)一句话说是【0】。

开始练习 →