以上图片代码块的逻辑是:
1.的到一个全量数据对象(供应商信息数据、供应商公司信息数据、接口人信息数据、领域级别信息数据)。
2.把供应商信息数据做处理再写到数据库中。
3.把供应商公司信息数据做处理再写到数据库中。
4.把接口人信息数据做处理再写到数据库中。
5.把领域级别数据做处理再写到数据库中。
以上是代码块的逻辑,这代码代码块有一个问题,不知道你发现没有?就是2-5都是相互独立的,没有数据依赖,那么代表2、3、4、5是可以同时执行。而上面代码只能按顺序由上往下执行。我们先来看一下它的速度(平均峰值在1000~3000毫秒左右):
我们使用JAVA8的异步编程CompletableFuture对代码进行改良,把代码中的2、3、4、5修改为同步执行:
我们再看一下执行的速度(峰值到达 60-200毫秒左右,性能直接提升多倍):