队列的思考

为什么需要队列?

队列的应用应该是一种典型的生产者、消费者的场景。

有以下几种情况:

  1. 生产者速度总是快于,或大部分时间快于消费者,则使用队列也无济于事
  2. 生产者速度平时低于等于消费者,但有突增的情况,这时队列可以平滑对消费者的冲击
  3. 生产者速度总是低于消费者,则不需要队列,因为不会有堆积的情况。

第二种需要队列的情况又可以根据生产消费的种类来继续细分:

  1. 用户请求,不可接受长时间延迟,超过处理能力时可以丢弃,则可以使用简单限长的队列。【可以自己通过list实现】
  2. 通知消息,不能丢失,可以接受较长时间延迟,则需要持久化及基本不限长的队列,【这种可能需要专业的队列系统】��

你可能感兴趣的:(队列的思考)