实验 3 BlockingQueue 与背压流控

没有单独作业,由实验 7 集成。

手写有界阻塞队列,做成多生产者多消费者管道,并在队列满时挂起生产者。

下载指导书

目标

  • 用锁和条件变量实现有界缓冲区的 put 和 take。
  • 避免竞争、死锁和虚假唤醒。
  • 观察队列满时的背压,以及消费恢复后生产者继续写入。

阶段

  1. P1 手写线程安全的有界阻塞队列。
  2. P2 多生产者、多消费者协同。
  3. P3 压测背压和削峰填谷。