补全:让第二条线程等得到
(每道题开头都有同一段:上面那几样。) 贯穿全条的几样东西: 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】。