栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【java集合指定分组异步执行】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【java集合指定分组异步执行】

java集合指定分组异步执行

集合指定分组异步执行

先集合分组,指定分组后分批执行

@Test
public void testList() {
    List strings = Arrays.asList("1", "2", "3", "4");
    List> lists = averageGrouping(strings, 3);
    List strings1 = lists.get(0);
    new Thread(() -> {
        doSomething(strings1);
    }).start();
    List strings2 = lists.get(1);
    new Thread(() -> {
        doSomething(strings2);
    }).start();
    List strings3 = lists.get(2);
    new Thread(() -> {
        doSomething(strings3);
    }).start();
}

public void doSomething(List sou) {
    for (String s : sou) {
        System.out.println(Thread.currentThread().getName() + "结果" + s);
    }
}


public static List> averageGrouping(List souce, int n) {
    List> result = new ArrayList<>();
    int remainder = souce.size() % n;
    int number = souce.size() / n;
    int offset = 0;
    for (int i = 0; i < n; i++) {
        List value = null;
        if (remainder > 0) {
            value = souce.subList(i * number + offset, (i + 1) * number + offset + 1);
            remainder--;
            offset++;
        } else {
            value = souce.subList(i * number + offset, (i + 1) * number + offset);
        }
        result.add(value);
    }
    return result;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643592.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号