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;

}

相关推荐
Devin~Y2 分钟前
大厂 Java 面试实战:从 Spring Boot 微服务到 AI RAG 音视频平台全链路解析
java·spring boot·redis·spring cloud·微服务·rag·spring ai
让我上个超影吧3 分钟前
Cluade code:Subagents (子代理)
java·ai
aXin_ya13 分钟前
乐尚代驾,总结
java
仙俊红18 分钟前
Java JUC:CompletableFuture 详解,多个任务并行执行并等待全部完成
java·python·spring
JAVA面经实录91721 分钟前
MongoDB(文档型 NoSQL)
java·数据库·mongodb·nosql
cfm_291421 分钟前
JVM类加载机制初步了解
java·jvm
让我上个超影吧23 分钟前
Cluade code:上下文压缩
java·服务器·ai
plainGeekDev26 分钟前
批量写入 → Room 事务
android·java·kotlin
宋哥转AI26 分钟前
MCP 第一天我没写@Tool,先在一个大仓库里划这三层
java·agent·mcp
填满你的记忆28 分钟前
MCP协议是什么?为什么它被称为AI时代的“USB接口”?
java·人工智能·agent·mcp