1
0
md/Java_3-5.md

23 lines
1.1 KiB
Markdown
Raw Normal View History

2025-09-10 17:13:56 +08:00
### 问题1考察多线程
假设你现在需要写1个电商APP的用户订单详情接口这个详情页包含
- 关联的商品信息,比如商品名称、尺码、图片、文字介绍等等
- 订单的基础信息,比如创建时间、支付金额
- 订单的快递信息,比如从上海运往杭州,目前运输车辆的位置
这三种数据彼此之间不耦合假定每一个查询耗时1秒单线程的情况下同步执行三次查询则需要3秒如何加速这个查询
答案:多线程并行查询,实现方案
- CompletableFutureallOf、runAsync、supplyAsync函数
- Future或者FutureTask轮询isDone函数确保异步任务执行完毕若有返回值使用get函数获取结果
如果回答的是CompletableFuture继续延伸以下问题
- CompletableFuture的默认线程池是什么答案ForkJoinPool
- ForkJoinPool适合CPU密集型还是IO密集型任务答案CPU密集型
- 用CompletableFuture处理IO密集型的任务应该怎么做答案自定义一个IO密集型的线程池
### 问题2考察对Mybatis-Plus或者Mybatis框架的熟练度