两个例子了解java中的回调机制
异步通常分两种情况:第一,不需要调用结果,直接调用即可,比如发送消息通知;第二,需要异步调用结果,在Java中可使用Future+Callable实现。同步回调实例下面我们以同步回调为例来讲解回调的Java代码实现。同时,由于Person要调用Genius对应的方法,因此要持有Genius的引用,这里通过构造方法传入。当然,从程序设计上来说,可以对Person和Genius进一步抽象化处理,通过接口的形式呈现。基于Future的半异步除了上述的同步,异步处理,还有一种介于同步和异步之间的基于Future的半异步处理。Futures是一个抽象的概念,它表示一个值,在某一点会变得可用。一个Future要么获得计算完的结果,要么获得计算失败后的异常。Java在java.util.concurrent包中附带了Future接口,它使用Executor异步执行。
用户评论