首页 > 其他分享 >多线程任务新jdk8写法

多线程任务新jdk8写法

时间:2023-08-02 12:33:13浏览次数:34  
标签:toList Collectors stream List collect jdk8 多线程 写法

List uniqueList = groupIds.stream().distinct().collect(Collectors.toList());
// 分组后的list
List<List<String>> groupedIdList = Lists.partition(uniqueList, 10);
List<CompletableFuture<ResultBody<List<TyGroupVo>>>> futureList =
    groupedIdList.stream().map(v -> CompletableFuture.supplyAsync(() -> {
        ApplicationContextHelper.setApplicationContextUser();
        return queryTyGroupList(v);
    }, ThreadPoolFactory.executor)).collect(Collectors.toList());
// 确保所有的任务完成
List<ResultBody<List<TyGroupVo>>> resultBeanList =
    futureList.stream().map(CompletableFuture::join).collect(Collectors.toList());

标签:toList,Collectors,stream,List,collect,jdk8,多线程,写法
From: https://www.cnblogs.com/zeenzhou/p/17600366.html

相关文章

  • 多线程之OMP
    记录在学习games101的时候碰到的多线程知识以下所有结果均在Ubuntu22.04.2LTS操作系统下使用g++11.3.0运行所有的问题来自下面这段代码,这是games101的第七次作业的一部分,需要使用多线程加速PathTracing intuse_critical=0;floatpocess=0;floatsca......
  • Python使用 - 多线程
    常见术语及用法 基本使用#定义线程类classMyThread(threading.Thread):def__init__(self):super(MyThread,self).__init__()#或threading.Thread.__init__(self)defrun(self)->None:tid=threading.currentThread().ident......
  • 什么是gil锁、python的垃圾回收机制是什么样的?解释为什么计算密集型用多进程,io密集型
    目录1什么是gil锁-全局解释器锁:gil锁的作用是什么?为什么要有gil锁?2python的垃圾回收机制是什么样的?-引用计数-标记清除-分代回收3解释为什么计算密集型用多进程,io密集型用多线程计算密集型任务:I/O密集型任务:总结:1什么是gil锁-全局解释器锁:它的本质就是一个大的互斥锁,它......
  • c++多线程同步
    死锁问题1单核实时可抢占的系统中,优先级不同的三个线程A/B/C,A>B>C当C先获得时间片开始执行,并获得锁A因为高优先级,被唤醒并中断C,但没有得到锁,而阻塞B获得执行机会,由于优先级高于C,B会一直执行,让AC系统无法取得任何进展std::stack<T>stack;std::mutexmutex;voidpush(c......
  • java-多线程并发,CompletableFuture
    //无返回值@OverridepublicvoidexecCreateYmDetDataSubTask(YmDetCreateWorkerDtoymDetCreateWorkerDto){List<Long>sendIdList=ymDetCreateWorkerDto.getSendIdList();List<List<Long>>subLists=Lists.partition(sendIdList,1......
  • boost asio多线程模式-IOThreadPool
    今天给大家介绍asio多线程模式的第二种,之前我们介绍了IOServicePool的方式,一个IOServicePool开启n个线程和n个iocontext,每个线程内独立运行iocontext,各个iocontext监听各自绑定的socket是否就绪,如果就绪就在各自线程里触发回调函数。为避免线程安全问题,我们将网络数据封装为逻辑......
  • boost asio多线程模型-IOServicePool
    前面的设计,我们对asio的使用都是单线程模式,为了提升网络io并发处理的效率,这一次我们设计多线程模式下asio的使用方式。总体来说asio有两个多线程模型,第一个是启动多个线程,每个线程管理一个iocontext。第二种是只启动一个iocontext,被多个线程共享,后面的文章会对比两个模式的区别,这......
  • 单线程事务与多线程事务处理方法
    一、单线程处理事务1.可以使用@Transactional来进行处理原因:在spring中可以使用@Transactional注解去控制事务,使出现异常时会进行回滚,在多线程中,这个注解则不会生效,如果主线程需要先执行一些修改数据库的操作,当子线程在进行处理出现异常时,主线程修改的数据则不会回滚,导致数据......
  • 关于Java的多线程实现
    多线程介绍进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以......
  • java多线程
    1、什么是JUC官方文档+源码​ 面试高频问java.utiljava.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locks​ java,util工具包、包、分类业务:普通的线程代码ThreadRunnable没有返回值2、线程和进程线程和进程如果不能用一句话说出来的......