Java ArrayBlockingQueue(int capacity, boolean fair) Constructor
Syntax
ArrayBlockingQueue(int capacity, boolean fair) constructor from ArrayBlockingQueue has the following syntax.
public ArrayBlockingQueue(int capacity, boolean fair)
Example
In the following code shows how to use ArrayBlockingQueue.ArrayBlockingQueue(int capacity, boolean fair) constructor.
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
/* w w w . j a va 2 s.c o m*/
public class Main {
public static void main(String[] argv) throws Exception {
int capacity = 10;
BlockingQueue<Integer> queue = new ArrayBlockingQueue<Integer>(capacity,false);
int numWorkers = 2;
Worker[] workers = new Worker[numWorkers];
for (int i = 0; i < workers.length; i++) {
workers[i] = new Worker(queue);
workers[i].start();
}
for (int i = 0; i < 100; i++) {
queue.put(i);
}
}
}
class Worker extends Thread {
BlockingQueue<Integer> q;
Worker(BlockingQueue<Integer> q) {
this.q = q;
}
public void run() {
try {
while (true) {
Integer x = q.take();
System.out.println(q.peek());
if (x == null) {
break;
}
System.out.println(x);
}
} catch (InterruptedException e) {
}
}
}
The code above generates the following result.