多线程处理List集合

背景

  假如你的需求要处理一个很大的集合,并且处理时间希望越开越好。正常你就是启动一个方式,以单线程的方式慢慢处理。下面

  我会编写一个多线程方案改善你的代码。

实施方案

    将集合拆分成多个子集合,数据分片

   引入三方,guava

        
            com.google.guava
            guava
            18.0
        

    示例代码

   List> partition = Lists.partition(files, 16);

   

   一个分片集合用一个线程进行处理

       这块我只提供的是方案,代码是伪代码,正常需要用线程池,如果你这块代码不会写,可以给我评论留言你的需求,我会按

照你的留言给你写真实的代码

  for (List fileList : partition) {


    new Runnable() {

         public void run() {

                for (File file : fileList){



                    }
    
              

            }


     }



}

 

 

 

 

你可能感兴趣的:(Java)