ArrayBlockingQueue 实现了BlockingQueue接口,可以参考上一篇文章有关BlockingQueue接口的详解。
ArrayBlockingQueue是一个内部通过数组存储元素的有界,阻塞的队列。有界就意味着只能存储有限的元素,也就是说存储的元素是有上限的,在初始化的时候就要设置其上限,并且后面不能修改。
ArrayBlockingQueue 内部存储元素是FIFO(先进先出)。队列的头部元素在队列中的时间最长,尾部的元素在队列中时间最短。
下面是如何初始化和使用ArrayBlockingQueue:
BlockingQueue queue = new ArrayBlockingQueue(1024);
queue.put("1");
Object object = queue.take();
下面是BlockingQueue使用泛型的例子。是如何放和取字符串的例子:
BlockingQueue<String> queue = new ArrayBlockingQueue<String>(1024);
queue.put("1");
String string = queue.take();
参考地址:http://tutorials.jenkov.com/java-util-concurrent/arrayblockingqueue.html