ArrayBlockingQueue

时间:2020-01-09 10:36:23  来源:igfitidea点击:

ArrayBlockingQueue类实现了BlockingQueue接口。

ArrayBlockingQueue是一个有界的阻塞队列,将元素内部存储在数组中。它是有界的意味着它不能存储无限数量的元素。它可以同时存储的元素数有一个上限。我们在实例化时设置上限,此后将无法更改。

ArrayBlockingQueue在内部以FIFO(先进先出)顺序存储元素。队列的" head"是已在队列中最长时间的元素,而队列的" tail"是已在队列中最短时间的元素。

这是实例化和使用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();