Future

在需要的时候,获取线程结果。

适用环境

需要在多线程环境下,同步或异步的获取执行结果。

样例

调用者将获取结果的任务委托给一个中间类,调用者和任务线程同时持有该类实例。

调用者需要获取结果时,调用中间类的方法,如果此时结果还未到达,可以在中间类实例上等待,也可以直接返回。

在任务线程执行完毕时,服务提供者将结果写给中间类实例,同时通知在该类实例上等待的线程可以获取结果。

中间类

同步设置、获取结果。获取结果时,如果未到达则等待(也可以返回一个信号,让调用者自己处理等待。)

调用者

发送请求,获取结果时,如果中间类不提供等待,需要自己处理是否继续等待或者失败。

服务提供者

接收请求,创建中间类实例,将该中间类实例交给执行线程并返回。