生产者和消费者也是一个非常经典的多线程模式,我们在实际开发中应用非常广泛的思想理念。在生产-消费模式中:通常由两类线程,即若干个生产者的线程和若干个消费者的线程。生产者线程负责提交用户请求,消费者线程则负责具体处理生产者提交的任务,在生产者和消费者之间通过共享内存缓存区进行通信。
下面看一个demo,看一下这种模式的实现:
生产者先生产,然后消费者才开始消费,数据主要都是从一个共有的队里里面,生产者生产完,放入Queue中,消费者从Queue中获取消费的任务,看一下打印结果:
等到3s后,生产者不再生产,那消费者消费完前面生产的,就不能在消费了。处于堵塞的状态。