本文翻译自http://tutorials.jenkov.com/java-util-concurrent/arrayblockingqueue.html,机翻加人工校正,仅供学习交流。
ArrayBlockingQueue
ArrayBlockingQueue类实现了BlockingQueue接口,阅读BlockingQueue文章以获得关于该接口的更多信息。
ArrayBlockingQueue是一个有界的阻塞队列,它将元素存储在一个数组内部。有界意味着它不能存储无限量的元素,它同时可以存储的元素数量有一个上限。您可以在实例化时设置上限,之后就不能更改了。
ArrayBlockingQueue内部以FIFO(先入先出)顺序存储元素。队列的头是在队列中存储时间最长的元素,队列的尾部是在队列中时间最短的元素。
下面是如何实例化和使用ArrayBlockingQueue:
BlockingQueue queue = new ArrayBlockingQueue(1024);
queue.put("1");
Object object = queue.take();
下面是一个使用Java泛型的BlockingQueue示例,注意你是如何放置和接受String的:
BlockingQueue<String> queue = new ArrayBlockingQueue<String>(1024);
queue.put("1");
String string = queue.take();