我正在寻找的是某种动态缓冲,我试图解释一下:
应该可以在缓冲区的末尾添加一些值。虽然它在缓冲区的末尾添加了值,但我应该可以从缓冲区的开头获取一些值。
在伪代码中就是这样:
ThreadA
while(true):
buffer.pushToEnd(random);
ThreadB
while(true):
buffer.popFromBeginning();
因此我应该从缓冲区中删除我弹出的值。我正在寻找互联网,发现各种缓冲类型,但没有一种能够以这种方式行事。
所以我的问题是:是否有一些本机java实现此缓冲行为?或者实现的一些示例代码?
答案 0 :(得分:3)
Java does include这样的容器类,具有您想要的方法。另请参阅线程安全变体ConcurrentLinkedQueue
。
此外,你想要做的事情看起来很像producer-consumer problem。链接的维基百科页面可能是一个很好的起点。
答案 1 :(得分:1)
您应该使用Java Queue FIFO数据容器。您添加到容器中的第一件事就是弹出的内容。先进先出。