批量迭代LinkedBlockingQueue而不删除项目

时间:2013-11-10 18:16:26

标签: java multithreading

有没有办法从特定的索引号开始迭代LinkedBlockingQueue?

我有一个LinkedBlockingQueue,其中包含对游戏世界所做的更改列表。当我实际进行这些更改时,它完全正常,包括使用轮询此迭代的对象迭代队列,然后将其从队列中删除。

下一次进程运行时,从头开始迭代队列是有效的,因为我们已经删除了所有“已使用”的项目。

但是,我也有一个预览模式,队列中的更改需要读取并显示给播放器,但实际上还没有从队列中删除(因为它们没有正式“使用”)

这些都是以1000个批量完成的,因此我们不会使网络流量或客户端过载。

我宁愿不必每次“批处理”重新迭代队列,并使用某些东西告诉我们继续直到特定索引 - 而我宁愿不创建辅助队列或“持有者”。

0 个答案:

没有答案