利用多线程通过对业务优化实现性能优化—— 性能优化利用 Thread 的 join
我们可以使用 join方法做到将程序并行。 举个例子:我们在开发过程中往往会遇到这样的场景,就是一个非常复杂的业务逻辑里边,比方说订票,如果说飞机票和火车票作为一个组装行程。比方说我要去 莫斯科,我人在A地,然后我可以选择去B地坐飞机,但是A地到B地这一段,我想做高铁。如果这作为一个订单的话,就意味着,下单过程需要到12306去扣火车票,然后到航空公司去扣飞机票。 对于上边的下单的过程,可以选择串行,比方说先去 12306扣火车票,再去航空公司扣机票,最终将结果返回。其实我们知道,整个下单过程是非常复杂的,都要检验什么的,如果串行操作的话,是非常耗时的。 这个时候我们可以使用多线程来处理我们的下单过程,线程A去处理扣火车票,线程B去处理扣飞机票。最后将最终的结果返回。 通过上边的问题的描述,其实就能引出一个问题,那就是我们需要等两个线程执行完成以后才能返回结果。我们如何知道线程A有没有执行完成呢,我们如何知道B执行完了呢,我们什么时候才放回结果呢? 这个时候就可以使用 Thread 的 join()方法,它可以做到,让主线程创建完A和B线程以后,等待A 和 B 线程执行结束以后再开始执行。怎么做到呢? 就是 主线程分别给A和B都进行Join() 下边来写一个例子模仿,这样的场景问题: /** * @author angus * @create 2020-03-14 15:59 */