Java ArrayBlockingQueue.size()
Syntax
ArrayBlockingQueue.size() has the following syntax.
public int size()
Example
In the following code shows how to use ArrayBlockingQueue.size() method.
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
// w ww . j a va 2 s . c om
public class Main {
public static void main(String[] argv) throws Exception {
int capacity = 10;
BlockingQueue<Integer> queue = new ArrayBlockingQueue<Integer>(capacity);
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.size());
if (x == null) {
break;
}
System.out.println(x);
}
} catch (InterruptedException e) {
}
}
}
The code above generates the following result.