Java 多线程实现异步调用
August 10, 2017
异步调用最主要的特点就是调用方并不等待函数的结果,而是继续进行下面的动作,函数自己去完成相应的过程。在函数完成以后将结果以某种方式返回给调用者。 实现异步的方式有很多,在前端的技术中使用的最多,这里我记录一下Java项目的内部自己异步调用某个函数的方式。 角色 # 在异步调用中,有三个角色,分别是消费者、取货凭据、生产者。对应的就是调用方、数据返回方式、执行函数。 举小蛋糕的例子非常好理解,订蛋糕、蛋糕店给你个取蛋糕的收据,或者也可以给你送到某个地方、蛋糕店生产蛋糕。 消费者 # 首先来看一下调用方的代码应该怎么写。 public class Customer { public static void main(String[] args) { System.out.println("main BEGIN"); CakeShop host = new CakeShop(); Cake cake1 = host.request(10, 'A'); Cake cake2 = host.request(20, 'B'); Cake cake3 = host.request(30, 'C'); System.out.println("main otherJob BEGIN"); try { Thread.sleep(2000); } catch (InterruptedException e) { } System.out.println("main otherJob END"); System.out.println("cake1 = " + cake1.getCake()); System.out.println("cake2 = " + cake2.getCake()); System.out.println("cake3 = " + cake3. ...