package com.doraemoney.core.utils; import java.util.Random; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import com.google.common.collect.M…

2017/05/21 0条评论 1790点热度 0人点赞 阅读全文

在处理大批量数据的时候,我习惯性使用Executor,将一批数据按拆分到多个线程上,每个线程保证数据隔离,每个单元都是相互独立的,使用场景:工单处理、用户额度计算。下面,我以求一批数据最大值为例写一个多线程处理. package com.yxkong.demo.executor; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.Callable; impor…

2017/05/21 0条评论 1142点热度 0人点赞 阅读全文

    Java在JDK7之后加入了并行计算的框架Fork/Join,可以解决我们系统中大数据计算的性能问题。Fork/Join采用的是分治法,Fork是将一个大任务拆分成若干个子任务,子任务分别去计算,而Join是获取到子任务的计算结果,然后合并,这个是递归的过程。子任务被分配到不同的核上执行时,效率最高。     Fork/Join框架的核心类是ForkJoinPool,它能够接收一个ForkJoinTask,并得到计算结果。ForkJoinTask有两个子类,Recur…

2017/05/21 0条评论 1480点热度 0人点赞 阅读全文