集合线程执行
原创
©著作权归作者所有:来自51CTO博客作者mb5f199d99afeb3的原创作品,请联系作者获取转载授权,否则将追究法律责任
/**
* @author YUFEI
* @Date 2022/8/10 20:04
* @Version 1.0
* 公共执行
*/
public class CommonConsumers {
public static void consumers(List<Consumer<Long>> consumers,String tenant,Long deptPk){
ThreadPoolTaskExecutor executor = SpringUtils.getBean("threadPoolTaskExecutor");
consumers.stream().map(consumer->
CompletableFuture.runAsync(()->{
ThreadLocalUtil.set(tenant);
consumer.accept(deptPk);
ThreadLocalUtil.remove();
},executor)
).map(CompletableFuture::join).collect(Collectors.toList());
}
}