26) 如何写代码来解决生产者消费者问题?
我们先尝试使用队列实现一个生产者和消费者模式。那么就需要先了解队列,队里的接口定义如下
Queue.
添加:
add(E element) 添加一个,如果超出了界限,则抛出异常
Offer(E element) 添加一个,如果超出了界限,则返回false
获取并删除
remove() 获取并删除队头,如果队列为空,则抛出异常
Poll() 获取并删除队头, 如果队列为空,则返回null
获取但不删除
element() 获取但是并不删除,如果队列为空,则抛出异常
peek() 获取但是并不删除,如果队列为空,则返回null.
而阻塞队列则多了两个阻塞的方法,put 和 take,参见下表