我正在尝试实现以下目标:


我有两张地图(尚不确定哪些可以安全使用并且可以正常工作)
两者都像Map<Integer, Object>(现在从Map1Map2
总是先将Object插入到Map1
每次将Integer插入到AtomicInteger中时,Object的值将随Map1的增加而增加。
插入后,我需要从Object中获取第一个插入的Map1并将其移至Map2,然后使用Object执行异步操作
在该操作的回调中,我需要从Object中删除​​Map2并重复


Map1属于队列,并且Map2包含所有正在运行的操作。可以将运行操作的数量一次调整为大于1。

例如,我连续执行5个操作,运行的最大数量为4,则顺序为:

将所有5个具有0、1、2、3、4个ID的Map1放入。然后应删除索引0、1、2、3,并将其移至Map2。当Object中的第一个Map2准备就绪时,应将其删除,而Map1中的最后一个Map2移至ConcurrentHashMap

我尝试使用Iterator.next(),但是从最后插入的项目开始使用Map2进行迭代,并且在对象准备就绪时从删除项目时遇到了一些问题。

最佳答案

Map1 is sort of a queue

使用作为FIFO数据结构的阻塞队列。

10-01 14:17