26 lines
701 B
Java
26 lines
701 B
Java
package threadexamples.producerconsumer;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import java.util.concurrent.BlockingQueue;
|
|
|
|
public class Consumer {
|
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(Consumer.class);
|
|
|
|
private BlockingQueue<Item> itemQueue;
|
|
private String name;
|
|
private int itemId;
|
|
|
|
public Consumer(String name, BlockingQueue<Item> itemQueue) {
|
|
this.itemQueue = itemQueue;
|
|
this.name = name;
|
|
}
|
|
|
|
public void consume() throws InterruptedException {
|
|
final Item item = itemQueue.take();
|
|
LOGGER.info("Consumer [{}] consume item [{}] produced by [{}]", name, item.getId(), item.getProducer());
|
|
}
|
|
}
|