java集合指定分组异步执行
集合指定分组异步执行
先集合分组,指定分组后分批执行
@Test
public void testList() {
List<String> strings = Arrays.asList("1", "2", "3", "4");
List<List<String>> lists = averageGrouping(strings, 3);
List<String> strings1 = lists.get(0);
new Thread(() -> {
doSomething(strings1);
}).start();
List<String> strings2 = lists.get(1);
new Thread(() -> {
doSomething(strings2);
}).start();
List<String> strings3 = lists.get(2);
new Thread(() -> {
doSomething(strings3);
}).start();
}
public void doSomething(List<String> sou) {
for (String s : sou) {
System.out.println(Thread.currentThread().getName() + "结果" + s);
}
}
/**
* 将一组数据平均分成N份
*
* @param souce 数据源
* @param n 平均分N组
* @return
*/
public static List&l