加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

并行化Java集中的搜索

发布时间:2020-12-14 06:07:59 所属栏目:Java 来源:网络整理
导读:我有一个List 称为线和巨大的(~3G)Set 叫做voc.我需要从voc中的行中找到所有行.我可以这样多线程吗? 目前我有这个简单的代码: for(String line: lines) { if (voc.contains(line)) { // Great!! }} 有没有办法同时搜索几行?可能有现成的解决方案吗? PS:

我有一个List< String>称为线和巨大的(~3G)Set< String>叫做voc.我需要从voc中的行中找到所有行.我可以这样多线程吗?

目前我有这个简单的代码:

for(String line: lines) {
  if (voc.contains(line)) {
    // Great!!
  }
}

有没有办法同时搜索几行?可能有现成的解决方案吗?

PS:我正在使用javolution.util.FastMap,因为它在填充期间表现更好.

最佳答案
这是一个可能的实现.请注意,错误/中断处理已被省略,但这可能会给您一个起点.我包含了一个main方法,因此您可以将其复制并粘贴到IDE中以进行快速演示.

编辑:清理一点以提高可读性和列表分区

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.CompletionService;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorCompletionService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ParallelizeListSearch {

    public static void main(String[] args) throws InterruptedException,ExecutionException {
        List

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读