当前位置: 首页 > news >正文

郑州专业的网站建设公司哪家好做网站哪种编程语言好

郑州专业的网站建设公司哪家好,做网站哪种编程语言好,视频网站建设的意义论文,企业网站推广可以选择哪些方法1.使用线程池 通过使用Java提供的线程池,可以将多个请求分配到不同的线程中并行执行。可以通过创建固定数量的线程池,然后将请求分配给线程池来实现。线程池会自动管理线程的数量和复用,从而减少了线程创建和销毁的开销,提高了程序…

1.使用线程池

通过使用Java提供的线程池,可以将多个请求分配到不同的线程中并行执行。可以通过创建固定数量的线程池,然后将请求分配给线程池来实现。线程池会自动管理线程的数量和复用,从而减少了线程创建和销毁的开销,提高了程序的性能。

以下是使用线程池实现同时进行多个请求的代码示例:

ExecutorService executor = Executors.newFixedThreadPool(10); // 创建一个固定大小的线程池List<Callable<Result>> tasks = new ArrayList<>();for (int i = 0; i < requestCount; i++) {tasks.add(new RequestTask(i)); // 将请求任务添加到列表中
}List<Future<Result>> results = executor.invokeAll(tasks); // 并行执行所有请求executor.shutdown(); // 关闭线程池

 2.使用Java 8的并行流

Java 8提供了并行流的支持,可以方便地将操作并行化。使用并行流,可以将多个请求转换为流,然后使用parallel()方法将其并行化,从而并行执行多个请求。

以下是使用Java 8的并行流实现同时进行多个请求的代码示例:

List<Result> results = requests.parallelStream().map(request -> executeRequest(request)).collect(Collectors.toList());

 3.使用CompletableFuture

Java 8中还提供了CompletableFuture类,它提供了非常方便的异步编程方式。使用CompletableFuture,可以将多个请求转换为CompletableFuture对象,然后使用allOf()方法将它们并行化执行。这种方式可以更加灵活地控制请求的执行顺序和异常处理。

以下是使用CompletableFuture实现同时进行多个请求的代码示例

CompletableFuture<Result>[] futures = new CompletableFuture[requestCount];for (int i = 0; i < requestCount; i++) {CompletableFuture<Result> future = CompletableFuture.supplyAsync(() -> executeRequest(i));futures[i] = future;
}CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures); // 并行执行所有请求List<Result> results = Arrays.stream(futures).map(CompletableFuture::join).collect(Collectors.toList());

以上是几种常用的Java实现同时进行多个请求并行执行的方式,开发者可以根据具体的业务场景和需求选择适合自己的方式。 

   这里我使用的是CompletableFuture异步编程方式,循环异步请求数据

需求:将12个时间节点,作为时间参数远程调用接口循环请求12次

//list:12个时间节点for (String time : list) {i++;CompletableFuture<WeatherBaseBo> futureTask = CompletableFuture.supplyAsync(() -> {WeatherBaseBo weatherBaseBo = new WeatherBaseBo();List objPageData = null;try {BaseRespBo ofLonsAndLats = getOfLonsAndLats(dataCodeGrid, gridElements, time, latitude, longitude);objPageData = ofLonsAndLats.getObjPageData();if (objPageData.size() < 1 && null == objPageData) {String date = weatherUtil.date(time);ofLonsAndLats = getOfLonsAndLats(dataCodeGrid, gridElements, date, latitude, longitude);objPageData = ofLonsAndLats.getObjPageData();}String weather = JSONObject.toJSONString(objPageData.get(0));JSONObject jsonObject = JSONObject.parseObject(weather);String u = jsonObject.getString("10U");String v = jsonObject.getString("10V");String rainc = jsonObject.getString("RAINC");  //1小时累计降水String weatherStr = jsonObject.getString("2T");BigDecimal weather1 = new BigDecimal(weatherStr);  //2米温度String zdlat = (String) jsonObject.get("lat");  //站点纬度String zdlon = (String) jsonObject.get("lon");  //站点经度String dateTime = (String) jsonObject.get("data_time");String winPower = weatherUtil.calculationWspdString(Double.valueOf(u), Double.valueOf(v));String windDir = weatherUtil.calculationWdir(Double.valueOf(u), Double.valueOf(v));weatherBaseBo.setRain(rainc);weatherBaseBo.setWindSpeed(winPower);weatherBaseBo.setT(weather1 + "");weatherBaseBo.setLats(zdlat);weatherBaseBo.setLons(zdlon);weatherBaseBo.setTime(dateTime);weatherBaseBo.setWindDir(windDir);
// } catch (Exception e) {log.error("实况折线图平台接口请求报错,请求时间:{}", time);e.printStackTrace();}return weatherBaseBo;});futures[i] = futureTask;}CompletableFuture.allOf(futures);List<WeatherBaseBo> weatherBaseBos = Arrays.stream(futures).map(CompletableFuture::join).collect(Collectors.toList());

可以实现多个请求异步执行并且同步返回。

http://www.yayakq.cn/news/233459/

相关文章:

  • 做网站续费要多少钱邯郸网站建设选哪家
  • dedecms建网站二级建造师报名官网
  • 网站优化顺义案例网站建设中的服务器搭建方式
  • 外贸网站建设预算自动更新wordpress失败
  • 大学路网站建设做网站要注册公司吗
  • 优秀作文网站推荐传奇网页版开服
  • 南京建设网站方案wordpress默认自适应
  • 做旅游网站会遇到什么问题公司展示网站模板免费下载
  • 网站建设好如何开通做网站360推广多少钱
  • 简述商务网站建设的步骤游戏开发软件有哪些
  • 网站后台维护主要做什么表白网站制作平台
  • 网站优化改动怎么做wordpress免费资源模板
  • 学做网站医药电商网站建设
  • php手机网站模板用什么软件做楼盘微网站
  • 遵化市城乡建设规划局网站永久免费自助建站推荐
  • 2019做网站赚钱么秦皇岛网站开发公司
  • 网站建设数据库ER图怎么画做羽毛球网站
  • 滨湖网站制作福利站wordpress
  • 团工作网站建设意见合肥网站建设之4个细节要注意事项
  • 移动端漂亮网站wordpress 行距
  • 北京网站建设appwordpress怎么用啊
  • 学校网站建设措施嘉兴公司网站模板建站
  • 带询盘外贸网站源码卖菜网站应该怎么做
  • 网站域名备案需要什么企业网站收费
  • 公众号排版设计seo静态页源码
  • 网站制作需要哪些如何做exo网站
  • 电商网站设计注意事项wordpress的菜单和页面
  • me微擎怎么做网站百度软文推广怎样收费
  • 双语企业网站营销型网站标准网页源码
  • 企业门户网站建设情况汇报始兴县建设局网站