java 线程

import org.springframework.util.CollectionUtils;

List<List<User>> lists = new ArrayList<>();

//查询业务数据

List<User> userList = dao.queryData();

try {

lists = averageAssign(userList, 10000);

if(!CollectionUtils.isEmpty(lists)) {

lists.foreach(o -> {

new Thread(() -> {

try {

taskCommon(o);

} catch (Exception e) {

}

}).start();

});

}

} catch(Exception e) {

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

}finally {

lists.clear();

}

public synchronized void taskCommon(List<User> list) {

//业务处理

}

import org.springframework.util.CollectionUtils;

import java.util.List;

import java.util.stream.Collectors;

import java.util.stream.Stream;

public static<T> List<List<T>> averageAssign(List<T> source, int size) {

if(!CollectionUtils.isEmpty(source) && size > 0) {

int num = source.size() % size == 0 ? source.size() / size : (source.size() / size)+1;

return Stream.iterate(0, n -> n + 1).limit(num).parallel().map(a -> source.parallelStream().skip(a * size).limit(size).collect(Collectors.toList())).filter(b -> !b.isEmpty()).collect(Collectors.toList());

}

return null;

}

相关推荐
进击的小菜鸡dd几秒前
Java求职面试:从Spring框架到微服务,谢飞机的奇妙面试之旅
java· 面试· 微服务· 数据库· 安全· spring· 缓存
计算机学姐7 分钟前
基于SpringBoot的高校体育场馆预约系统【个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
Coder_Boy_10 分钟前
基于SpringAI的在线考试系统设计-用户管理模块设计
java·大数据·人工智能·spring boot·spring cloud
小白不想白a16 分钟前
RabbitMQ监控
java·rabbitmq·java-rabbitmq
Overt0p20 分钟前
MQ简单介绍以及RabbitMQ基础使用,快速上手
java·分布式·rabbitmq
奋进的芋圆22 分钟前
SerialCommManager 详解:从嵌入式通信管理器到 Spring Boot 后端服务
java·spring boot·接口隔离原则
奋进的芋圆22 分钟前
Spring Boot + RAG 项目中集成 MCP 接口技术文档
java·spring boot·ai
sxlishaobin24 分钟前
设计模式之装饰器模式
java·设计模式·装饰器模式
Eaxker28 分钟前
Java后端
java·开发语言
计算机程序设计小李同学28 分钟前
森林防火航空巡护任务管理系统
java·vue.js·人工智能·分类·数据挖掘