大家好,现在有个需求,要计算上千万的条目的关联数据,由于数据量很大,需要同时启用多线程并行计算,不知道怎么实现,做过请指点下……

解决方案 »

  1.   

    我建议你了解下Hadoop,正是用来进行大数据量并发处理的
      

  2.   

    其实我觉得分布式计算,也可以用用terracotta的~~~
      

  3.   

    嗯,建议使用楼上所说的 Hadoop,其有一个 MapReduce 功能,可以实现你的功能。
      

  4.   

    最简单最方便最优秀的是构建多个方法去处理不同的事件 可以借助Tread类
      

  5.   

    建议:
    1.考虑拆分你的计算需求。
    2.考虑合并你的子计算。
    3.考虑实际环境,是否有必要采用Hadoop+MapReduce搭建。
    注明:如果只是简单的单机并行就能满足需求,可以了解下如下知识点:
    ThreadPoolExecutor , Future ,Callable
      

  6.   


    ExecutorService跟ThreadPoolTaskExecutor,看到一个方案,ExecutorService产生一个生产者(可满足)4个消费者(就是计算每个记录的关联数据),中间是用BlockingQueue队列,然后每个消费者有使用ThreadPoolTaskExecutor计算当前线程的当前条目的关联数据(真Tm绕),我有个疑问就是为什么还有使用ThreadPoolTaskExecutor呢,这个线程池跟ExecutorService有没有联系?