回调(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()方法。比如支付系统中的支付或退款,调用支付宝或微信等支付或退款接口。处理结束后,支付宝或微信再将结果通过回调方法通知给调用方。
这样一种调用方式组成了上图,也就是一种双向的调用方式
回调函数是一个函数或过程,不过它是一个由调用方自己实现,供被调用方使用的特殊函数。
在面向对象的语言中,回调则是通过接口或抽象类来实现的,我们把实现这种接口的类称为回调类,回调类的对象称为回调对象。
热门推荐
上海讲究鲜美,苏州追求精致,扬州注重搭配:一碗阳春面里的三城文化
专家推荐:晨起喝水、减盐有道,助力身体健康
实力班底打造,《乔妍的心事》展现女性成长困境
2024春运铁路出行必备:证件、生活用品、电子设备全攻略
最新高血压防治指南发布,社区防控体系全面升级
“假”羽绒服,害了多少人?
户外三层穿衣法详解:安全与舒适的最佳穿搭策略
抓绒衣穿搭指南:冬季户外保暖与时尚兼备技巧
泉州:世界遗产与宗教博物馆之旅
泉州古建筑:穿越时空的文明对话
泉州市舶司遗址:见证“东方第一大港”的千年传奇
给爸妈找护工,怎么这么难?
心理危机多维度护理,助力肝癌患者心灵疗愈
肝癌预防,从日常小事做起
2024 ESMO大会前瞻:中国"双艾组合"创肝癌治疗新突破
心脏除颤仪校准计量,急救设备的保障
救命神器就在身边!人人都应学会使用AED(附使用指南图解)
“救”在身边:AED的使用你学会了吗?
迪庆州博物馆馆藏逾万件,展现藏区历史文化
鲤鱼的养殖方法与技巧
家里鱼缸养几条鱼最好锦鲤吃(家里鱼缸养几条锦鲤有什么区别?)
廖碧儿新恋情曝光,与容祖儿前男友甜蜜互动引热议
金鱼四季养殖管理全攻略
最新短文解析!2024年鲤鱼行业养殖产量及分布排行前十的省市「图」
廖碧儿新作《盛宴》今晚开播,演绎青帮二当家展现多面演技
桂花树种在庭院的什么位置好
芥兰种植的时间与方法(选择最佳时间和正确方法培育健康芥兰)
芥菜——一种常见的蔬菜(形态特征、食用价值及栽培方法)
中国十大最热城市新排名,这里面有你的家乡吗?
高温持续不断,趁“热”收下这份防暑指南!