异常飞出去,锁还在不在

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

开始练习 →

补全:try / finally 版

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

开始练习 →

补全:自己写一个 Guard

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

开始练习 →

忘记放锁的后果

一条线程拿了锁之后没放(写漏了、或异常跳过了 release)。后果是【0】。

开始练习 →

自己拿两次

同一条线程对同一把 Lock 连续 acquire 两次(比如函数 A 拿着锁去调用也要拿锁的函数 B)。会【0】。

开始练习 →

RLock 是什么

RLock(可重入锁)和 Lock 的区别是【0】。

开始练习 →

探测一把被忘掉的锁

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

开始练习 →

Lock 和 RLock 各拿两次

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

开始练习 →

补全:查一批锁谁被忘了

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

开始练习 →

补全:递归要拿锁,换 RLock

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

开始练习 →