26.6 Producer/Consumer Relationship: ArrayBlockingQueue
One way to synchronize producer and consumer threads is to use classes from Java’s concurrency package that encapsulate the synchronization for you. Java includes the class ArrayBlockingQueue
(from package java.util.concurrent
)—a fully implemented, thread-safe buffer class that implements interface BlockingQueue. This interface extends the Queue
interface discussed in Chapter 20 and declares methods put
and take
, the blocking equivalents of Queue
methods offer
and poll
, respectively. Method put
places an element at the end of the BlockingQueue
, waiting if the queue is full. Method take
removes an element from the head of the BlockingQueue
, waiting if the queue is empty. These methods ...
Get Java How to Program (early objects), 9/e now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.