在JAVA平台,实现异步调用的角色有如下三个角色:调用者 取货凭证 真实数据
一个调用者在调用耗时操作,不能立即返回数据时,先返回一个取货凭证.然后在过一断时间后
凭取货凭证来获取真正的数据.
连结调用者和真实数据之间的桥梁是取货凭证.所以最关键的就是取货凭证ft
主线程调用Requester的request方法 子线程启动 主线程得到凭证 然后主线程继续往下执行
在合适的时候拿着凭证去取数据
在新线程中启动耗时操作后,不等待线程的完成立即返回提货单.
然后调用者可以根据ft.isCompleted()来调用getData()获取真实数据.
也可以在条件不满足时wait(),然后等待makeData的notifyAll();这样就完成了一个
用JAVA模拟的异步操作.