回调(callback)理解
创作时间:
作者:
@小白创作中心
回调(callback)理解
引用
51CTO
1.
https://blog.51cto.com/oktokeep/13691421
回调(callback)理解
软件模块之间总是存在一定的接口,从调用方式上,可以把他们分为三类:同步调用、异步调用和回调
1.同步调用
同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法再继续往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流程的阻塞。
2.异步调用
是一种类似消息或事件的机制,是为了解决同步调用可能出现阻塞,导致整个流程卡住而产生的一种调用方式。类A的方法a()通过新起线程的方式调用类B的方法b(),代码接着直接往下执行,这样无论方法b()执行时间多久,都不会阻塞方法a()的执行。但是这种方式,由于方法a()不等待方法b()执行完成,在方法a()需要方法b()执行结果的情况下(视具体业务而定,有些业务比如启动异步线程发个微信通知、刷新一个缓存这种就没有必要),必须通过一定的方法对方法b()的执行结果进行监听。在Java中,可以使用Future+Callable的方式做到这一点。
3.回调
类A的a()方法调用了类B的b()方法
类B的b方法执行完毕主动调用类A的callback()方法。比如支付系统中的支付或退款,调用支付宝或微信等支付或退款接口。处理结束后,支付宝或微信再将结果通过回调方法通知给调用方。
这样一种调用方式组成了上图,也就是一种双向的调用方式
回调函数是一个函数或过程,不过它是一个由调用方自己实现,供被调用方使用的特殊函数。
在面向对象的语言中,回调则是通过接口或抽象类来实现的,我们把实现这种接口的类称为回调类,回调类的对象称为回调对象。
热门推荐
如何通过饮食和生活方式预防中风、脑梗死、脑出血?
形式主义对现代社会发展的影响与反思
围棋入门:从基本规则到胜负判定
最严院士增选,27名候选人被处理,或被永久取消院士参选资格
建筑百科:强力瓷砖胶的正确使用与安装技巧
阿托伐他汀与瑞舒伐他汀,哪个更好更安全?该怎么选?药师讲清楚
为什么那么多人喜欢去泰国旅游?
亚马逊裁员:战略调整与市场挑战
人形机器人:政策助力下的技术与市场双突破
西游记里,四大最强妖怪排行榜,第一法力高强肉身成圣
上海交大发布蛋白质设计模型“Venus”
同价位显卡选购指南:性能与性价比的终极平衡
人工智能助力直播电商发展的路径研究
发展现代设施农业,如何提高温室大棚作物产量?
八字命理研究官方网站:如何科学解读个人命运
欧洲37城旅游性价比大排名:维尔纽斯成最大"性价比之王"
清初四大贝勒:历史与传承
如何规避二套房的购买风险?二套房的购买有哪些注意事项?
我国早期青铜乐器的传承与发展
为什么说50mm是人像黄金镜头呢!
有效利用控制图提升生产质量管理技巧
重点实验室与清华大学合作揭示植物感知渗透胁迫的新机制
黄金的象征着什么?黄金的象征意义在投资中有何体现?
闰月是什么 闰月是怎么算的
手机家电等产品补贴效果显著,消费活力持续释放
石蜡切片是什么
教育不止于课堂:用一场公益活动,为这个春天增添动人的注脚
指南:遭遇网暴,如何自救
成为自由职业者后,他们更“自由”了吗?
2024-25赛季NBA全明星赛制规则详解:四队参赛,一战定胜负