如果队列是空的,消费者会一直等待,当生产者添加元素时,消费者是如何知道当前队列有元素?
**使用通知模式实现。**所谓通知模式,当消费者从空的队列获取元素时会阻塞住消费者,此时如果生产者放了一个元素进入队列,则需要通知被阻塞的消费者当前有元素可取。
同理,当生产者往满的队列里添加元素时会阻塞住生产者,当消费者消费一个队列中的元素后,会通知生产者当前队列可用。
如果队列是空的,消费者会一直等待,当生产者添加元素时,消费者是如何知道当前队列有元素?
**使用通知模式实现。**所谓通知模式,当消费者从空的队列获取元素时会阻塞住消费者,此时如果生产者放了一个元素进入队列,则需要通知被阻塞的消费者当前有元素可取。
同理,当生产者往满的队列里添加元素时会阻塞住生产者,当消费者消费一个队列中的元素后,会通知生产者当前队列可用。