补全:用信号量当信号
本节的东西:
Gate(n) 最多 n 个同时在里面:Semaphore(n);顺便用一把小锁维护 inside / peak(峰值)
run_gate(n, workers, hold) workers 条线程各进一次 Gate 待 hold 秒,交回峰值补全 handoff():Semaphore(0) 开始是关的;线程乙先 acquire(等);主线程睡 0.05 秒后把 "货" 放进 box 再 release;乙醒来取货。交回 (乙拿到的东西, 乙是否在 release 之前就取到了)。
全部评论