上篇文章介绍了SpringBoot使用异步(@Async)提升接口效率
下面继续介绍下Service如何异步调用Dao层
调用Dao再次进行异步处理
上篇主要是针对Controller层调用Service层的异步调用,那么如果我们的Service层调用了多个Dao方法,我们如何进行异步优化呢?继续往下看:
- 常规写法:
Dao
@Repository
public class AsyncDao {
public String AsyncDao1() {
long startTime = System.currentTimeMillis();
try {
//模拟耗时
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
long endTime = System.currentTimeMillis();
System.out.println(Thread.currentThread().getName() + ":AsyncDao1,耗时:" + (endTime - startTime));
return "AsyncDao1";
}
public String AsyncDao2() {
long startTime = System.currentTimeMillis();
try {
//模拟耗时
Thread