public static void test10() throws ExecutionException, InterruptedException {
List<TestUser> userList=new ArrayList<>();
for(int i=0;i<1000;i++){
TestUser testUser=new TestUser();
testUser.setUsername("a"+i);
testUser.setAge(1);
userList.add(testUser);
}
List<Future> futureList=new ArrayList<>();
for(TestUser testUser:userList){
Future<TestUser> future=ThreadUtil.execAsync(new Callable<TestUser> (){
@Override
public TestUser call() throws Exception {
Thread.sleep(1000);
testUser.setAge(testUser.getAge()+1);
return testUser;
}
});
futureList.add(future);
}
List<TestUser> testUserList=new ArrayList<>();
for(Future<TestUser> future:futureList){
TestUser testUser=future.get();
testUserList.add(testUser);
}
for(TestUser testUser:testUserList){
System.out.println(testUser.toString());
}
}
@Data
public class TestUser {
private String username;
private Integer age;
}