前言
相信不少开发者在遇到项目对数据进行批量操作的时候,都会有不少的烦恼,尤其是针对数据量极大的情况下,效率问题就直接提上了菜板。
因此,开多线程来执行批量任务是十分重要的一种批量操作思路,其实这种思路实现起来也十分简单。
结合我们昨天微信群里的讨论,我这里就拿批量更新的操作举例,给大家来一篇小短文,分享给大家!
整体流程图
整体流程图
整个处理流程还是很简单的,我画了一个简图。
步骤
-
获取需要进行批量更新的大集合A,对大集合进行拆分操作,分成N个小集合A-1 ~ A-N 。
-
开启线程池,针对集合的大小进行调参,对小集合进行批量更新操作。
-
对流程进行控制,控制线程执行顺序。
按照指定大小拆分集合的工具类
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import java.util.List;
/**
* 拆分结合工具类
*/
public class SplitListUtils {
/**
* 拆分集合
*
* @par