Java 如何对谓词执行多线程集合迭代操作?

Java 如何对谓词执行多线程集合迭代操作?,java,multithreading,guava,Java,Multithreading,Guava,为了抽象起见,让我们假设我有一个 Map<Double, Collection<Employee>> Map 其中key是工资阈值。或者对于熟悉谷歌收藏的人来说 多重映射 我想对每个员工的工资进行数据库查找,如果低于工资阈值,则将该员工从集合中删除。我如何以多线程的方式实现这一点,最好使用固定线程池执行器 同样,对于精通google collections的人来说,如果通过谓词进行DB查找并过滤集合,我将不胜感激。在就地数据结构上进行并发过滤在我看来要求太高了。您至少

为了抽象起见,让我们假设我有一个

Map<Double, Collection<Employee>>
Map
其中key是工资阈值。或者对于熟悉谷歌收藏的人来说 多重映射

我想对每个员工的工资进行数据库查找,如果低于工资阈值,则将该员工从集合中删除。我如何以多线程的方式实现这一点,最好使用固定线程池执行器


同样,对于精通google collections的人来说,如果通过谓词进行DB查找并过滤集合,我将不胜感激。

在就地数据结构上进行并发过滤在我看来要求太高了。您至少需要一种方法来标记当前正在处理的员工


而是使用输入和输出映射。让线程通过输入映射(我将使用BlockingQueues作为集合)工作,并将适合您测试的所有员工写入输出映射。

为什么使用此社区wiki?