Java多线程问题请教,如何快速处理完1000多次接口请求?

第三方系统提供的接口不支持批量接收数据, 只能一笔一笔的调用,我们有1000多条数据,就得请求1000次这个接口, 效率很是低下! 所以我想利用多线程的方式快速的调用完这1000次接口请求并处理响应, 请问我的这个思路有问题吗? 应该怎么实现呢? 这肯定要用线程池来搞吧?


回答:

import java.util.concurrent.*;

public class Main {

public static void main(String[] args) {

ExecutorService executor = Executors.newFixedThreadPool(10);

List<Data> dataList = getDataList();

for (Data data : dataList) {

executor.submit(() -> {

// 请求

sendRequest(data);

});

}

// 关闭线程池,等待所有任务完成

executor.shutdown();

try {

// 设置最大等待时间

if (!executor.awaitTermination(1, TimeUnit.HOURS)) {

executor.shutdownNow();

}

} catch (InterruptedException e) {

executor.shutdownNow();

}

}

private static void sendRequest(Data data) {

// 发送请求

}

private static List<Data> getDataList() {

return new ArrayList<>();

}

}

以上是 Java多线程问题请教,如何快速处理完1000多次接口请求? 的全部内容, 来源链接: utcz.com/p/945249.html

回到顶部