回调(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()方法。比如支付系统中的支付或退款,调用支付宝或微信等支付或退款接口。处理结束后,支付宝或微信再将结果通过回调方法通知给调用方。
这样一种调用方式组成了上图,也就是一种双向的调用方式
回调函数是一个函数或过程,不过它是一个由调用方自己实现,供被调用方使用的特殊函数。
在面向对象的语言中,回调则是通过接口或抽象类来实现的,我们把实现这种接口的类称为回调类,回调类的对象称为回调对象。
热门推荐
桃树的习性和特征
日兰高铁全线贯通!济宁可快速直达这些城市
选省油耐用家用车,推荐3款高性价比之选
最美丽、最独特的山茶花品种
心理法宝丨全员NPD(自恋型人格障碍)?揭秘“自恋”背后的真相
客户端游戏后台怎么管理
污染和交叉污染的区别
深入浅出,一文搞懂向量数据库工作原理和应用
开源向量数据库性能对比: Milvus, Chroma, Qdrant
丽江旅游景点全攻略:古城、雪山、古镇一网打尽
合同脱敏:如何保护敏感信息
空气炸锅炸鸡腿 低脂 减肥 快手菜
如何安全地戒掉安眠药
为什么戒安眠药痛苦?专家分享缓解方法与建议
手机进水后的正确处理方法
提高初中语文成绩的实用秘诀
zip是什么意思?深入解析ZIP文件格式及其应用
超市安全管理指南:从入口到出口的全方位防护
豆腐过期还能吃吗?7个判断和保存技巧全攻略
氨氢零碳燃烧技术:科达制造引领中国陶瓷行业绿色化革命
从选种到管理:一份完整的柿子种植指南
推卸责任的人是什么样的人
一张图让你弄懂公司战略!
鲜衣怒马少年郎出处原文
运动抗癌研究获国际认可:Cell子刊专题点评华山医院陈世益教授团队系列研究成果
林草资源管理系统:构筑绿色长城,守护自然之美
如何恢复微信里的服务通知记录
C30混凝土是什么意思?
温度计的历史发展与未来趋势
2025南京长江传奇系列游轮攻略(开航时间+航行时长+登船码头+介绍)