数据分析系统中,首页的表格需要大量的数据,这些数据可能是从另一个子系统中获取,就要接收接口的数据,获取接口的数据做成非阻塞的,可以打打提高响应速度,模型如下:
ExecutorService threadPool = Executors.newCachedThreadPool();
//获取数据1
Future<String> future_1 = threadPool.submit(new CallableHttpClientUtil(url1));
//获取数据2
Future<String> future_2 = threadPool.submit(new CallableHttpClientUtil(url2));
//获取数据3
Future<String> future_3 = threadPool.submit(new CallableHttpClientUtil(url3));
//获取数据4
Future<String> future_4 = threadPool.submit(new CallableHttpClientUtil(url4));
//获取数据5
Future<String> future_5 = threadPool.submit(new CallableHttpClientUtil(url5));
try {
//数据1
String result1 = future_1 .get();
//数据2
String result2 = future_2 .get();
//数据3
String result3 = future_3 .get();
//数据4
String result4 = future_4 .get();
//数据5
String result5 = future_5 .get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}finally{
threadPool.shutdown();
}