加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

两个经典例子让你彻底明白Java回调机制

发布时间:2021-05-25 13:36:29 所属栏目:编程 来源:互联网
导读:媒介 先让我们通过一个糊口中的场景来还原一下回调的场景:你碰着了一个技能困难(好比,1+1便是几?太难了!),于是你去咨询大牛,大牛说此刻正在忙,待会儿汇报你

先让我们通过一个糊口中的场景来还原一下回调的场景:你碰着了一个技能困难(好比,1+1便是几?太难了!),于是你去咨询大牛,大牛说此刻正在忙,待会儿汇报你功效。

此时,你也许会去刷伴侣圈了,等大牛忙完之后,汇报你谜底是2。

那么,这个进程中扣问题目(挪用对方接口),然后题目办理之后再汇报你(对方处理赏罚完再挪用你,关照功效),这一进程即是回调。

体系挪用的分类

应用体系模块之间的挪用,凡是分为:同法式用,异法式用,回调。

假如A挪用B,B的执行时刻较量长,那么就必要思量举办异步处理赏罚,使得B的执行不影响A。凡是在A中新起一个线程用来挪用B,然后A中的代码继承执行。

异步凡是分两种环境:第一,不必要挪勤奋效,直接挪用即可,好比发送动静关照;第二,必要异法式勤奋效,在Java中可行使Future+Callable实现。

通过上图我们可以看到回到属于一种双向的挪用方法。回调的根基上思绪是:A挪用B,B处理赏罚完之后再挪用A提供的回调要领(凡是为callbakc())关照功效。

凡是回调分为:同步回协调异步回调。收集上大大都的回调案例都是同步回调。

个中同步回调与同法式用相同,代码运行到某一个位置的时辰,假如碰着了必要回调的代码,会在这里守候,守候回调功效返回后再继承执行。

而异步回调与异法式用相同,代码执行到必要回调的代码的时辰,并不会停下来,而是继承执行,虽然也许过一会回调的功效会返回返来。

同步回调实例

下面我们以同步回调为例来讲授回调的Java代码实现。整个进程就模仿上面问答题目的场景。

起首,界说给一个CallBack的接口,将回调的成果举办单独抽离:

public interface CallBack { 

    void callback(String string); 

CallBack接口中提供了一个callback要领,用于回调时挪用。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读