public abstract class ProducerConsumer<T> extends Object
Modifier and Type | Class and Description |
---|---|
class |
ProducerConsumer.Consumer |
class |
ProducerConsumer.Producer |
Modifier and Type | Field and Description |
---|---|
protected AtomicInteger |
activeConsumers |
protected AtomicInteger |
count |
protected Iterator<T> |
data |
protected AtomicBoolean |
done |
protected int |
numConsumers |
protected BlockingQueue<T> |
theQueue |
Constructor and Description |
---|
ProducerConsumer(Iterator<T> data,
int numConsumers) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
consume(T ta) |
protected abstract String |
getStatus() |
protected abstract void |
initialize() |
protected abstract boolean |
prerequisiteCheck(T input) |
protected abstract List<T> |
process(T ta) |
void |
run() |
protected int numConsumers
protected BlockingQueue<T> theQueue
protected AtomicBoolean done
protected AtomicInteger count
protected AtomicInteger activeConsumers
public void run() throws InterruptedException
InterruptedException
protected abstract void initialize()
protected abstract boolean prerequisiteCheck(T input)
protected abstract void consume(T ta)
protected abstract String getStatus()
Copyright © 2017. All rights reserved.