首页 > 其他分享 >多线程执行工具方法

多线程执行工具方法

时间:2023-08-30 18:11:37浏览次数:37  
标签:waitRunFinal 多线程 run cf threadSize CompletableFuture 工具 执行

    public static <P, T> List<CompletableFuture<T>> multiThreadRun(Function<P, T> run, Collection<P> list, int threadSize, Executor executor, boolean waitRunFinal) {
        List<CompletableFuture<T>> cf = new ArrayList<>(threadSize);
        for (P obj : list) {
            cf.add(CompletableFuture.supplyAsync(() -> run.apply(obj), executor));
            if (waitRunFinal && cf.size() == threadSize) {
                cf.forEach(CompletableFuture::join);
                cf.clear();
            }
        }
        if(waitRunFinal) {
            cf.forEach(CompletableFuture::join);
        }
        return cf;
    }

 

标签:waitRunFinal,多线程,run,cf,threadSize,CompletableFuture,工具,执行
From: https://www.cnblogs.com/math-and-it/p/17667951.html

相关文章

  • Scrum敏捷开发工具:高效企业必备
    ​随着软件开发行业的不断发展和进步,Scrum敏捷开发工具逐渐成为了备受关注的话题。Scrum是一种灵活且高效的项目管理方法,旨在提高团队协作和交付效率,使团队能够更快地响应变化和需求。本文将深入探讨Scrum敏捷开发工具的基本概念、使用方法、优势以及实际应用案例。一、Scrum......
  • 微信聊天记录删除恢复导出工具(文字/语音/图片/视频/文件/表情包)
    微信的聊天记录加密保存在电脑中,有时我们想将自己微信中的聊天记录导出来,但微信软件并不提供该功能。此软件可将自己电脑版微信中的聊天内容批量导出来,方便备份,后期不登录也可方便快速查阅。它还能够尝试恢复之前删除过的好友和聊天对话,不小心删除的聊天记录也会显示出来。下......
  • Parameterized 中各方法的执行顺序
    参数化测试(ParameterizedTests),即多次执行同一个测试方法,每次使用不同的参数。这里debug一个简单的例子来确定类中各方法的执行顺序。执行顺序setParam()->@BeforeClass->Parameterized(name1)->@Before->test1->@After->Parameterized(name1)->@Before->t......
  • MySQL 主从自动修复工具"pt-slave-repair"
    工具下载:https://github.com/hcymysql/pt-slave-repairpt-slave-repair工具简介:MySQL主从复制作为一种常见的数据同步方式,有时候会出现同步错误导致同步中断的情况。手动修复这些同步错误通常需要耗费不少时间和精力,并且对于不熟悉MySQL复制的人来说比较困难。pt-slave-rep......
  • 摸鱼神器:不藏了,程序员上班看小说工具,拿去吧不谢。
    前言大家好,我是一名工作快10年,但练习摸鱼时长两年半的Java程序员。我会唱,跳,rap,还会打篮球,特长是当小黑子。这两年半我一直用一款摸鱼神器来看小说,领导站我背后都发现不了。今天,我不藏了,分享给大家。千万要看到最后,我的摸鱼思路绝对会打开你的编程新思维。正文1、......
  • 微信聊天记录删除恢复导出工具(文字/语音/图片/视频/文件/表情包)
    微信的聊天记录加密保存在电脑中,有时我们想将自己微信中的聊天记录导出来,但微信软件并不提供该功能。此软件可将自己电脑版微信中的聊天内容批量导出来,方便备份,后期不登录也可方便快速查阅。它还能够尝试恢复之前删除过的好友和聊天对话,不小心删除的聊天记录也会显示出来。下载......
  • Pytest 框架执行用例流程浅谈
    背景:根据以下简单的代码示例,我们将从源码的角度分析其中的关键加载执行步骤,对pytest整体流程架构有个初步学习。代码示例:importpytestdeftest_add():assert1+1==2deftest_sub():assert2-1==1通过 pytesttest_example.py运行此代码示例......
  • python多线程
    python多线程多线程threading,利用CPU和IO可以同时执行的原理多进程multiprocessing,利用多核CPU的能力,真正的并行执行任务异步IOasyncio,在单线程利用CPU和IO同时执行的原理,实现函数异步执行使用Lock对资源加锁,防止冲突访问使用Queue实现不同线程/进程之间的数据通信,实现生......
  • leetcode & c++多线程刷题日志
    1.按序打印按序打印解法互斥锁classFoo{mutexmtx1,mtx2;public:Foo(){mtx1.lock(),mtx2.lock();}voidfirst(function<void()>printFirst){printFirst();mtx1.unlock();}voidsecond(function<voi......
  • Everything-高效快捷的本地搜索工具
    Everything是由voidtools开发的一款文件搜索工具,这款软件是基于名称实时定位文件和目录。Everything功能强大,体积小巧,第一次安装使用时会建立一个索引数据库,将所有文件和文件夹的名称导入其中,后续使用能够以极快的速度快速搜索,查找到你所需要的文件。Everything软件特点软件小巧,......