为了抽象,让我们假设我有一个
Map<Double, Collection<Employee>>
其中key是工资阈值。或者对于熟悉Google收藏的人来说,就像那样 多重映射
我想为每个员工的工资进行数据库查找,如果它低于工资阈值,则从集合中删除员工。如何以多线程方式执行此操作,最好使用固定的线程池执行程序?
同样,对于google collection精明的人来说,如果通过Predicate进行数据库查找并过滤集合,我将不胜感激。
答案 0 :(得分:0)
对现场数据结构的并发过滤在我的感觉上要求太多。您至少需要一种方法来标记当前正在处理的员工。
而是使用输入和输出映射。让线程通过输入映射(我将使用BlockingQueues作为集合)并将所有适合您测试的员工写入输出映射。