前端共学会:学习|成长|工作|职业,综合服务社区(慕K无密)
下载看水印
假设,有一个电商网站,用户浏览产品详情页时,需要展示产品的基本信息、价格、库存、用户评价等多个方面的数据,这些数据可能来自不同的数据源或服务,比如:
产品基本信息可能来自一个主数据库。
价格和库存可能需要实时从另一个库存服务获取。
用户评价可能存储在另一个专门用于用户反馈的系统中。
为了提升用户体验,希望这些数据的获取能够并行进行,而不是一个接一个地串行获取,这就是CompletableFuture的经典场景。
CompletableFuture类在主要用来解决异步编程和并发执行的问题,在传统的同步编程模型中,代码的执行通常是阻塞的,即一行代码执行完成后,下一行代码才能开始执行,这种模型在处理耗时操作时,如 I/O 操作、数据库访问或网络请求,会导致线程长时间闲置,等待操作完成,从而降低系统的吞吐量和响应能力。
因此,CompletableFuture类提供了一种非阻塞的、基于回调的编程方式,可以在等待某个长时间运行的任务完成时,同时执行其他任务,这样,就可以更充分地利用系统资源,提高程序的并发性和响应速度。
领取专属 10元无门槛券
私享最新 技术干货