Spring Boot官网down
项目之后,pom.xml报unkown error
错误,是由于官网down的version默认为<version>2.1.5.RELEASE</version>
,我们修改为<version>2.1.3.RELEASE</version>
或者更低版本<version>2.1.1.RELEASE</version>
即可。
1、什么是“异步调⽤”?
同步调⽤指程序按照定义顺序依次执⾏,每⼀⾏程序都必须等待上⼀⾏程序执⾏完成之后才能执⾏。
比如我们定义一个顺序:吃饭前先洗手,洗完手才能吃饭,吃完饭才可以吃水果,如:
import java.util.Random;
import org.springframework.stereotype.Component;
@Component
public class SynchronizeTask {
public static Random random = new Random();
public void doTaskOne() throws Exception {
System.out.println("吃饭前先洗手");
long start = System.currentTimeMillis();
Thread.sleep(random.nextInt(10000));
long end = System.currentTimeMillis();
System.out.println("洗手耗时:" + (end - start) + "毫秒");
}
public void doTaskTwo() throws Exception {
System.out.println("准备吃饭");
long start = System.currentTimeMillis();
Thread.sleep(random.nextInt(10000));
long end = System.currentTimeMillis();
System.out.println("吃饭耗时:" + (end - start) + "毫秒");
}
public void doTaskThree() throws Exception {
System.out.println("吃完饭吃水果");
long start = System.currentTimeMillis();
Thread.sleep(random.nextInt(10000));
long end = System.currentTimeMillis();
System.out.println("吃水果耗时:" + (end - start) + "毫秒");
}
}
public static void main(String[] args) {
SynchronizeTask task = new SynchronizeTask();
try {
task.doTaskOne();
task.doTaskTwo();
task.doTaskThree();
} catch (Exception e) {
e.printStackTrace();
}
}
同步输出.png
同步调用是上一步没执行完,就只能等着,而且执⾏时间⽐较⻓,效率低下。这个时候,若这三个任务本身之间不存在依赖关系,可以考虑通过异步调⽤的⽅式来并发执⾏。
异步调⽤指程序在顺序执⾏时,不等待异步调⽤的语句返回结果就执⾏后⾯的程序。在Spring Boot中,可以通过 @Async 注解就能将同步函数变为异步函数,Task类改在为如下模式:
网友评论