**使用信号量实现生产者-消费者问题**:信号量给了生产者-消费者问题一个非常精巧的实验,生产者把球从 empty 口袋取走,push 之后把球放入 filled 口袋;消费者则恰好相反。整个系统满足 empty + filled + 正在打印的线程 = 缓冲区大小的全局约束。