java中的动态缓冲区

时间:2013-12-25 06:33:22

标签: java dynamic buffering

我正在寻找的是某种动态缓冲,我试图解释一下:

应该可以在缓冲区的末尾添加一些值。虽然它在缓冲区的末尾添加了值,但我应该可以从缓冲区的开头获取一些值。

在伪代码中就是这样:

ThreadA
while(true):
   buffer.pushToEnd(random);

ThreadB
while(true):
   buffer.popFromBeginning();

因此我应该从缓冲区中删除我弹出的值。我正在寻找互联网,发现各种缓冲类型,但没有一种能够以这种方式行事。

所以我的问题是:是否有一些本机java实现此缓冲行为?或者实现的一些示例代码?

2 个答案:

答案 0 :(得分:3)

您正在描述FIFO queue数据结构。

Java does include这样的容器类,具有您想要的方法。另请参阅线程安全变体ConcurrentLinkedQueue

此外,你想要做的事情看起来很像producer-consumer problem。链接的维基百科页面可能是一个很好的起点。

答案 1 :(得分:1)

您应该使用Java Queue FIFO数据容器。您添加到容器中的第一件事就是弹出的内容。先进先出。