0
我试图做到以下几点:处理两个地图与多线程
- 我有两个地图(目前还不能确定其使用安全和正常工作)
- 两者都是一样
Map<Integer, Object>
(让我们从现在开始说Map1
和Map2
Object
总是插入到Map1
第一
- 的
Integer
值每Object
被插入到时间递增与 - 插入后我需要从
Map1
第一插入Object
并将其移动到Map2
,然后用Object
- 执行异步操作,在该操作的回调,我需要从
Map2
删除Object
和重复
Map1
是排序队列,Map2
包含所有正在运行的操作。运行操作的数量可以一次调整为1以上。
比如我在一排和最大金额执行5个操作运行操作是4,顺序将是:
把所有5到Map1
与0,1,2,3,4 IDS。然后索引0,1,2,3应该被移除并移动到Map2
。当第一个Object
从Map2
准备好时,它应该被删除,最后一个从Map1
转移到Map2
。
我试过ConcurrentHashMap
,但是从Iterator.next()
开始迭代它,从最后插入的项目开始,并且在对象准备好时从Map2
中删除项目时出现了一些问题。
如果我需要从id(Integer)队列中删除Object,该怎么办?执行前的取消种类。 – Niko
这些队列似乎没有任何键值。 – Niko
@Niko假设你知道删除哪个对象,你可以使用'remove(object)'方法 –