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;

}

相关推荐
tHeya06II9 分钟前
涵盖 Cursor、Claude Code、Skills
java·服务器
kim_puppy11 分钟前
TCP的三次握手,四次挥手
java·网络·tcp
诗人不写诗12 分钟前
spring boot apm生态
java·数据库·spring boot
海参崴-12 分钟前
C++代码格式规范
java·前端·c++
better_liang36 分钟前
每日Java面试场景题知识点之-Redisson热门使用场景
java·redis·微服务·分布式锁·redisson·分布式系统
2301_7926748639 分钟前
java学习 day26
java
so2F32hj240 分钟前
拆解 OpenHands(14)--- Microagents
java·开发语言
明灯伴古佛1 小时前
面试:什么是可重入性?为什么 synchronized 是可重入锁?
java·jvm·面试
卓怡学长1 小时前
m307自习室预订座位管理分析与实现
java·spring boot·spring
Arya_aa1 小时前
生猪养殖溯源系统前期准备与SpringBoot框架
java·spring boot