没有人知道一个有界的循环队列(开放源代码)的实现,还是一个内置于android/java的可用API类?android/java - 寻找一个高效的并发循环队列
我为这个集合所需的并发(不同步或基于锁的)操作至少是入队和出队,但入队也是足够的。
对于那些谁不知道收集我所需要的,这里有更多的一些信息:
- 界 - 有项目,可以在它的最大数量。
- 并发 - 允许多个线程高效地运行操作,无需任何形式的锁定。这与同步解决方案相反,它只允许单个线程运行操作。
- 循环 - 如果我们将项目放入已填充的集合中,则新项目将替换最早的项目。
请帮助
听起来你应该只是复制'ArrayBlockingQueue.java'(它在框架源代码中可用),并改变'#offer(T)'和'#put(T)'方法使最后一项出队 - 并且presto - 即时有界队列,驱逐最后一个项目。 – Jens
@Jens - ArrayBlockingQueue不允许多个线程同时访问,由源判断。 – mcfinnigan
正确。不仅如此,它也不是循环的:如果您尝试将物品放入已填充的队列中,它将一直等到物品未填满为止,而相反 - 如果您尝试从物品中取出物品一个空的队列,它会一直等到它不是空的。 –